tce - amazon s3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do...

44
Informática Modelagem de Dados Prof. Marcelo Ribeiro TCE

Upload: others

Post on 21-Feb-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br

Informática

Modelagem de Dados

Prof. Marcelo Ribeiro

TCE

Page 2: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar
Page 3: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br 3

Informática

MICROSOFT OFFICE ACCESS 2013 (BANCO DE DADOS)

Extensão de banco de dados (versão 2003) = *.mdb

Extensão de banco de dados (versões 2007, 2010, 2013...) = *.accdb

Objetos de um banco de dados do Access = Tabelas, Consultas, Formulários, Relatórios, Ma-cros e Módulos.

Os bancos de dados do Access podem ajudar a armazenar e controlar praticamente qualquer tipo de informação, como estoque, contatos ou processos empresariais. Vamos dar uma olhada nos ca-minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar e usar seu novo banco de dados.

O objetivo deste material é ilustrar os princípios básicos de um banco de dados elaborado no Microsoft Access 2013.

O Access fornece um poderoso conjunto de ferramentas, permitindo que você comece rapida-mente a rastrear, relatar e compartilhar informações em um ambiente gerenciável. Com seus novos recursos de design interativo, biblioteca pré-incorporada de modelos de aplicativos de rastreamento e capacidade para trabalhar com dados a partir de muitas fontes de dados sem exigir um profundo conhecimento em banco de dados.

Você pode criar e adaptar rapidamente Tabelas, Consultas, Formulários e Relatórios para aten-der às mudanças nas necessidades da empresa, e com a nova e avançada integração.

Os modelos do Access têm tabelas, consultas, formulários e relatórios internos prontos para usar. Quando você inicia o Access, a primeira coisa que vê é uma variedade de modelos, e tam-bém é possível pesquisar mais opções online.

PRIMEIROS PASSOS

Assim que você abre o programa pela primeira vez, o passo inicial é dar um nome para o seu “banco de dados” (o Microsoft Access exige que o arquivo de banco de dados seja salvo antes mesmo da inserção da primeira informação no arquivo).

Page 4: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br4

1. Clique em “Banco de Dados do Desktop em branco” (para gerenciar e usufruir de todos os recursos, salvando e executando o banco de dados diretamente de um PC).

2. Digite o “Nome do Arquivo” (a extensão da versão 2003 é MDB; novas versões utilizam AC-CDB).

CRIAR UM ACCESS APP (WEB)

Você também pode criar um aplicativo do Access é um banco de dados que pode ser usado em um navegador da Web padrão, mas que pode ser projetado e alterado no Access 2013 ou superior. Os dados e os objetos do banco de dados são armazenados no SQL Server ou no Banco de Dados SQL do Microsoft Azure, para que você possa compartilhar os dados em sua organização usando o SharePoint 2013 local ou o Office 365 para empresas.

É possível criar um aplicativo a partir de um modelo ou desde o início. Para criar um aplicativo do Access:

1. Abra o Access 2013 ou superior e clique em Aplicativo Web personalizado.

2. Insira um nome e o local do servidor para o aplicativo e clique em Criar ou escolha um local na lista Locais.,

Page 5: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 5

OBJETOS DE UM BANCO DE DADOS

• TABELAS • CONSULTAS • FORMULÁRIOS • RELATÓRIOS • MACROS (MÓDULOS)

OBJETOS PRESENTES NO NOSSO BANCO DE DADOS

TABELAS

A escolha do NOME DO CAMPO, definição do TIPO DE DADOS e preenchimento das PROPRIE-DADES de cada campo devem ser feitas de forma que não sejam necessárias alterações futuras, para evitar dores de cabeça.

Serão 4 tabelas: Alunos, Cursos, Valores e Vendas.

Page 6: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br6

PROPRIEDADES DA TABELA ALUNOS

PROPRIEDADES DA TABELA TAB CURSOS

Page 7: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 7

PROPRIEDADES DA TABELA TAB VALORES

PROPRIEDADES DA TABELA TAB VENDAS

CONSULTAS

Serão 4 consultas: Alunos Sem Coincidentes Vendas, Alunos por Nome, Descrição de Cursos e Vendas

Page 8: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br8

DESIGN DA CONSULTA CONS ALUNOS SEM COINCIDENTES VENDAS

DESIGN DA CONSULTA CONS ALUNOS POR NOME

Page 9: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 9

DESIGN DA CONSULTA CONS DESCRIÇÃO DE CURSOS

DESIGN DA CONSULTA CONS VENDAS

Page 10: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br10

FORMULÁRIOS

RELATÓRIOS

Será 1 relatório (você poderá criar quantos relatórios quiser baseados nas tabelas e consultas existentes):Criaremos somente um: Relat Cursos

O Relatório viabiliza a impressão organizada de dados extraídos de Tabelas ou Consultas. A im-pressão de dados diretamente de uma Tabela ou Consulta geralmente não é algo interessante.

Enquanto o Formulário é um objeto voltado para a exibição de dados na tela, de maneira orga-nizada e agradável, o Relatório é voltado para a impressão destes dados.

Page 11: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 11

MACROS

Existe uma maneira bem fácil de usar macros. O Access permite que, durante a inserção de um “botão de comando”, por exemplo, usando o assistente você poderá escolher a macro que melhor lhe atende em uma lista de macros existentes no próprio programa. Mas neste material irmes criar nossas macros.

Serão 7 macros:

• Macro IrParaRegistroNOVO • Macro IrParaRegistroPRIMEIRO • Macro IrParaRegistroANTERIOR • Macro IrParaRegistroPRÓXIMO • Macro IrParaRegistroÚLTIMO • Macro FECHAR • Macro IMPRIMIR

COMO CRIAR UMA TABELA

Assim que o banco de dados for criado o usuário será direcionado para sua primeira tabela, intitulada “Tabela1” (1). Um campo “Código” (2) será inserido por padrão e a guia Campos será exibida. Você poderá alterar isso, mas é comum que muitas tabelas tenham este campo – como será visto no decorrer deste material – e por este motivo o Access já sugere este campo como sendo o primeiro de sua tabela. Para acrescentar Campos à tabela, clique no botão “Modo de Exibição” (3) e escolha “Modo Design”.

Page 12: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br12

No momento que escolher Modo Design, você deverá salvar a tabela. Usaremos o nome Alunos.

Agora, você terá que definir os “Campos” que farão parte de sua tabela.

Os “Campos” são as primeiras informações que você deverá registrar durante a criação de uma tabela e é o procedimento mais importante e delicado.

Você deve criar os novos Campos (1) para a tabela.Utilize as linhas da coluna “Nome do Campo” para inserir logo abaixo do campo “Código”. Na coluna Tipo de Dados (2) defina qual o tipo de informação que seus Campos irão receber.

Os Campos de tabela são elementos separados de informação que compõem um registro dentro de uma tabela. Você pode controlar a aparência dos dados, especificar valores padrão e acelerar a pesquisa e classificação definindo as propriedades de campo na seção Propriedades (3) do campo no modo de Design da tabela.

Por exemplo, as propriedades Formato, Máscara de entrada e Legenda que você define afetam a aparência dos campos de tabelas e consultas do banco de dados. Os controles em formulários e relatórios novos que são baseados na tabela herdam essas propriedades por padrão.

Page 13: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 13

Você pode utilizar outras Propriedades para definir regras para dados ou para exigir entrada de dados em seus campos, o que o Microsoft Access impõe sempre que você adiciona ou edita dados em uma tabela.

CHAVE PRIMÁRIA

O campo que deverá identificar cada registro deverá ser definido como “chave primária”. Este campo será utilizado para criar relações entre esta tabela e outras tabelas que serão criadas posteriormente.

Em regra geral, é comum criar cada tabela contendo, pelo menos, um campo “chave primária”.

O Access define o campo Código (criado por ele) como “chave primária”, mas você poderá reali-zar este procedimento manualmente, quando necessário, através da seleção do campo deseja-do e clicando uma vez sobre o botão “chave primária”, disponível na “Faixa de Opções”. O dese-nho de uma pequena “chave” aparecerá na linha do campo definido como “chave primária”.

Um campo “chave primária” deverá ser configurado como exclusivo, não poderá ter valor nulo (not null) e, nos registros, não poderá ser repetido). É comum que o “Tipo de Dados” seja definido como “Numeração Auto-mática”.

Nas “Propriedades do campo” Chave Primária terá propriedade Indexado = Sim (Duplicação não autorizada). Para que seja inserido um valor sequencial a cada registro digitado posterior-mente, informe Novos valores = Incremento.

CHAVE EXTERNA OU ESTRANGEIRA

É um campo que aponta para a chave primária de outra tabela ou da mesma tabela. Uma chave é chamada estrangeira quan-do há o relacionamento entre duas tabelas.

TIPO DE DADOS

Você deve informar, para cada um dos campos inseridos na tabela os tipos de informações que deverão ser digitadas neles durante o processo de preenchimento da tabela. Para isto, clique no campo correspondente e escolha a opção relativa ao conteúdo do campo através de “Tipo de Dados”. Esta ação também pode ser realizada através do “Modo Design” (o que torna o trabalho mais fácil).

Além de informar o Tipo de Dados, você pode digitar uma Descrição para cada campo, assim, durante o preenchimento dos dados o usuário poderá conferir esta descrição na “barra de status” da janela.

Page 14: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br14

No nosso exemplo, deveremos renomear o campo Código para CódigoAluno e criar os demais campos, respeitando as devidas “Propriedades” para cada Campo.

É importante informar, por exemplo, o tamanho do campo (que irá limitar a quantidade de caracteres que poderão ser digitado nos campos, além de influenciar diretamente no tamanho total do arquivo de banco de dados), formato, máscara de entrada (quando necessário), se o preenchimento será obrigatório (requerido) e se será indexado.

MÁSCARA DE ENTRADA

É possível definir uma máscara de entrada utilizando os caracteres a seguir:

Page 15: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 15

A tabela a seguir mostra algumas máscaras de entrada úteis e os tipos de valores que você pode inserir nelas.

As tabelas são os primeiros e principais objetos criados em um banco de dados do Microsoft Access, porém, o preenchimento de seus dados, geralmente, deve ser feito através de um Formulário.

Embora um Formulário possa ser construído independente de uma Tabela (e todo banco de dados possui este tipo de Formulário), a maioria deles é construída, justamente, sobre a estrutura de uma Tabela já existente (desta forma, o Formulário será a Tabela exibida de forma “mais sofisticada”).

Page 16: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br16

COMO CRIAR UM FORMULÁRIO

Quando finalizar a criação das Tabelas e Consultas, chegou a hora de criar seus Formulários. No geral, entenda que um Formulário será uma Tabela ou Consulta com um layout mais “agradável”. Um Formulário proporciona um acesso amigável aos dados contidos em uma Tabela ou filtrado por um Consulta.

O Access permite a criação rápida de um Formulário, bastando para isto selecionar a Tabela ou Consulta (1) com a qual deseja criar o Formulário. Clicar na guia CRIAR e na faixa de opções clicar no botão FORMULÁRIO (2). Em poucos instantes seu Formulário será criado (3).

Para realizar ajustes no layout ou objetos que fazem parte do Formulário criado, basta clicar no botão DESIGN DE FORMULÁRIO e utilizar os recursos e ferramentas disponíveis.

Você também pode criar um Formulário em Branco. Basicamente, será exibida uma tela em branco na qual você poderá inserir os campos de uma Tabela ou Consulta, e também inserir botões.

Para criar um Formulário utilizando um Assistente, talvez seja a forma mais indicada.

Você poderá optar por utilizar o “Assistente de Formulário” obtido através da opção “Mais Formulários”, conforme mostrado na figura seguinte.

Page 17: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 17

ASSISTENTE DE FORMULÁRIO

Abaixo, você confere os passos para criar um Formulário através do “Assistente”.

1. Selecione a “Tabela” (ou “Consulta”) na qual o formulário será baseado;

2. Na lista “Campos disponíveis”, clique em cada campo que deseja inserir no seu formulário (geralmente, todos) e adicione-os na caixa “Campos selecionados”.

3. Quando adicionar os campos selecionados, clique no botão “Avançar”.

4. Escolha o “layout” para o formulário (Coluna, Tabela, Folha de dados ou Justificado)

5. Escolha o “estilo” que deverá ser utilizado pelo formulário (Concurso, Cívico, Fluxo, Escritó-rio...).

6. Digite um “nome” para o formulário (esta informação é muito importante e não será acon-selhável alterá-la no futuro, portanto, digite um nome definitivo, claro e não muito longo) e clique no botão CONCLUIR.

7. Após a conclusão do formulário, ele poderá ser visualizado na tela.

8. É praticamente certo que após a criação de um formulário através do Assistente de Formu-

Page 18: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br18

lário, você tenha que realizar alguns ajustes por meio do “Modo Design”. É assim que você poderá ajustar a posição e tamanho dos campos, ajustes de bordas e plano de fundo, além de acessar as propriedades de cada Campo ou do próprio Formulário para vincular Macros, por exemplo.

COMO CRIAR UMA CONSULTA

Uma consulta é usada para criar subconjuntos de dados que podem ser utilizados para respon-der a perguntas específicas ou realizar cálculos e atualizações de dados. Essa consulta pode ser usada também para fornecer dados para outros objetos do banco de dados. Depois de criar uma consulta, poderá usá-la sempre que necessário.

Utilize o “Assistente de Consulta” ou o “Design da Consulta” (este é o método mais utilizado).

ASSISTENTE DE CONSULTA

Page 19: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 19

A elaboração de uma consulta pode ser feita utilizando como base uma Tabela ou outra Con-sulta. A consulta é um modo prático para filtrar informações e exibi-las rapidamente. Também permite criar cálculos, exclusões, adições e atualizações de registros em Tabelas.

DESIGN DA CONSULTA

O próximo passo será elaborar a consulta com os campos e critérios necessários.

1. Na guia CRIAR, clique no botão “Design da Consulta”;

2. Escolha a “Tabela” (ou “Consulta” – é possível criar uma consulta sobre outra consulta) que irá fazer parte da consulta criada por você. Clique no botão “Adicionar” e confira a Tabela inserida.

3. Clique no título da janela de campos da Tabela e perceba que todos os campos foram “selecionados”.

4. Clique sobre os campos selecionados e arraste até a lista de campos da consulta.

Page 20: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br20

5. Solte os campos na lista de campos da Consulta e perceba que as colunas serão nomeadas de acordo com os campos inseridos (CódAluno, Nome, Endereço, Tel, Email...).

6. Na linha “Critério”, clique na “coluna” onde deseja inserir um argumento.

7. Digite o argumento do “Critério” (para que seja solicitado o nome do aluno e então exibir seus dados de cadastro, digite na coluna “Nome”, na linha “Critério”, o seguinte argumento: COMO [Digite o nome do aluno]+“*”

Este argumento de critério irá pedir todo ou parte do nome do aluno para, então, exibir seus dados.

8. Dê 2 cliques sobre o Nome da Consulta salva para executá-la.

9. Digite, na caixa de diálogo, o argumento solicitado para a execução da consulta.

10. Confira o resultado obtido através da consulta realizada.

Page 21: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 21

COMO CRIAR UM RELATÓRIO

Você pode criar uma variedade de Relatórios diferentes no Microsoft Office Access 2007, do mais simples ao mais complexo. Comece pensando na sua fonte de registro de Relatório. Se o relatório for uma lista simples de registro ou um resumo agrupado sobre vendas por região, você deve primeiro determinar quais campos contém os dados que deseja ver no Relatório e em quais tabelas ou consultas eles estão localizados.

Depois de escolher a fonte de registro, você normalmente achará fácil criar um relatório utili-zando o “Assistente de Relatório”. O Assistente de Relatório é um recurso do Access que apre-senta várias questões e gera um Relatório baseado nas suas respostas.

ASSISTENTE DE RELATÓRIO

Na guia CRIAR, na “Faixa de Opções”, clique sobre a opção “Assistente de Relatório” para iniciá-lo.

1. Assim como foi feito na construção da tabela e da consulta, escolha a Tabela ou Consulta e os campos que farão parte do seu relatório. Escolha “agrupar” pelo campo “CódAluno”.

2. Vamos agrupar por ordem “crescente” de “Nome” do aluno (A-Z).

3. Escolha o “layout” e a “orientação” dos dados no seu relatório.

Page 22: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br22

4. Escolha o “estilo” para o seu Relatório.

5. Dê um nome para o Relatório e clique no botão concluir.

6. O resultado poderá ser conferido quando você “abrir” o Relatório de Alunos, clicando 2x sobre o seu nome, na lista de objetos, do lado esquerdo da tela.

DICA: Se você criar um Relatório em cima da “Consulta alunos por nome”, sempre que exibir o Relatório, deverá informar os “argumentos” solicitados pelo “critério” da consulta, e só então o relatório será gerado. Você poderá, então, imprimir os dados relacionados ao argumento de critério digitado.

COMO CRIAR AS MACROS

É possível criar uma macro (uma ação ou conjunto de ações que você pode usar para automatizar tarefas) para executar uma série específica de ações e um grupo de para executar uma série de ações relacionadas.

No Microsoft Office Access 2007, as macros podem estar contidas em objetos de macro (às vezes chamadas de macros autônomas) ou podem estar incorporadas nas propriedades de evento dos formulários, relatórios ou controles.

Page 23: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 23

Uma macro é uma ferramenta que permite que você automatize tarefas e adicione funcio-nalidades aos seus formulários, relatórios e controles. Por exemplo, ao adicionar um botão de comando a um formulário, você associa o evento AoClicar do botão a uma macro e ela conterá o comando que você deseja que o botão execute toda vem em que é clicado.

No Access, é útil pensar em macros como linguagem de programação simplificada que você escreve ao criar uma lista de ações (ação: o fundamento de uma macro; uma instrução que pode ser combinada com outras ações para automatizar tarefas. Algumas vezes é denominada comando em outras linguagens de macro) a serem realizadas.

Ao criar uma macro, você seleciona cada ação de uma lista suspensa e preenche as informa-ções necessárias para cada ação. As macros permitem que você adicione funcionalidades a formulários, relatórios e controles, sem escrever código em um módulo VBA (Visual Basic for Applications) (uma versão de linguagem macro do Microsoft Visual Basic usada para programar aplicativos do Microsoft Windows e incluída em vários programas da Microsoft).

As macros fornecem um subconjunto dos comandos que estão disponíveis no VBA e a maio-ria das pessoas acha mais fácil criar uma macro do que escrever código VBA.

Por exemplo, suponha que você queira iniciar um relatório diretamente de um dos formulá-rios de entrada de dados. Você pode adicionar um botão ao formulário e criar uma macro que inicie o relatório. A macro pode ser independente (um objeto separado no banco de dados) e ser depois vinculada ao evento AoClicar, do botão, ou ela pode ser incorporada diretamente ao evento AoClicar, do próprio botão — um novo recurso, no Office Access 2007. De qualquer for-ma, quando você clica no botão a macro é executada e inicia o relatório. Você pode criar uma macro usando o “Construtor de Macros”.

PROGRAMAÇÃO NO ACCESS

Ao criar um novo banco de dados, normalmente você começa criando vários objetos de banco de dados como tabelas, formulários e relatórios. Em algum momento, você chega a um ponto em que precisa adicionar programação para automatizar certos processos e unir seus objetos de banco de dados. Este artigo ajuda a orientar você pelas ferramentas de programação no Access.

No Access, programação é o processo de adição de funcionalidade ao seu banco de dados usan-do macros do Access ou código VBA (Visual Basic for Applications). Por exemplo, vamos supor que você tenha criado um formulário e um relatório e queira adicionar um botão de comando ao formulário, de modo que, ao ser clicado, abra o relatório. Programação, nesse caso, é o pro-cesso de criar uma macro ou um procedimento de VBA e, depois, configurar a propriedade de evento OnClick do botão de comando para que, ao clicar no botão de comando, a macro ou o procedimento seja executado. Para uma operação simples, como abrir um relatório, você pode usar o Assistente de Botão de Comando para realizar todo o trabalho, ou você pode desativar o assistente e fazer a programação.

Muitos programas do Microsoft Office usam o termo “macro” para se referir ao código VBA. Isso pode ser confuso para usuários do Access, pois nele o termo “macro” refere-se a um conjunto nomeado de ações de macro que você pode reunir usando o Construtor de Macros. As ações de macro do Access representam apenas um subconjunto dos comandos disponíveis no VBA. O Construtor de Macros oferece uma interface mais estruturada do que o Editor do

Page 24: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br24

Visual Basic, permitindo que você adicione programação a controles e objetos sem precisar aprender o código VBA. Lembre-se de que nos artigos da Ajuda do Access, as macros dele são chamadas de macros. Por outro lado, o código VBA é chamado de VBA, código, uma função ou um procedimento. O código VBA fica dentro de módulos de classe (que fazem parte de formulários ou relatórios individuais e normalmente contêm código apenas para esses objetos) e de módulos (que não são associados a objetos específicos e normalmente contêm o código “global”, que pode ser usado em todo o banco de dados).

Objetos (como formulários e relatórios) e controles (como botões de comando e caixas de texto) têm várias propriedades de evento, às quais você pode anexar macros ou procedimentos. Cada propriedade de evento está associada a um evento específico, como clicar com o mouse, abrir um formulário ou modificar dados em uma caixa de texto. Os eventos também podem ser disparados por fatores fora do Access, como eventos do sistema, ou por macros ou procedimentos que estão anexados a outros eventos. O banco de dados pode ficar complexo se você adicionar muitas macros ou procedimentos a várias propriedades de evento de vários objetos, mas, na maioria dos casos, você pode obter os resultados desejados usando pouquíssima programação.

A decisão de usar macros, VBA ou os dois, depende principalmente de como você pretende implantar ou distribuir o banco de dados. Por exemplo, se o banco de dados for armazenado no seu computador e você for o único usuário, e se você se sentir confortável em usar o código VBA, talvez você decida usar VBA para realizar a maioria das suas tarefas de programação. No entanto, se você pretende compartilhar seu banco de dados com outras pessoas colocando-o em um servidor de arquivos, convém evitar o uso de VBA por segurança.

Tome sua decisão de usar macros ou código VBA com base em duas questões: a segurança e funcionalidade desejada. Segurança é um problema porque VBA pode ser usado para criar o código que compromete a segurança dos seus dados ou pode danificar arquivos no seu computador. Ao usar um banco de dados criado por alguém que não seja você, habilite o código VBA somente se você souber que o banco de dados é proveniente de uma fonte confiável. Ao criar um banco de dados que será usado por outras pessoas, tente evitar a inclusão de ferramentas de programação que exijam do usuário a concessão específica do status de confiável ao banco de dados. Veja mais adiante nesta seção técnicas gerais para evitar a necessidade dos usuários confiarem no seu banco de dados.

Para ajudar a garantir a segurança do seu banco de dados, tente usar macros quando for possível e use a programação em VBA apenas para operações que não possam ser realizadas usando ações de macro. Além disso, tente usar apenas as ações de macro que não exijam a concessão do status de confiável ao banco de dados para executar. Limitar o uso de ações de macro dessa maneira permite que os usuários tenham a certeza de que o banco de dados não tem qualquer programação que possa danificar os dados ou outros arquivos nos seus computadores.

CONSIDERAÇÕES SOBRE MACRO

A partir do Access 2010, o programa contém muitas ações de macro novas que permitem criar macros mais avançadas em comparação com versões anteriores. Por exemplo, agora você pode criar e usar variáveis temporárias globais usando ações de macro e controlar melhor os erros usando novas ações de macro de tratamento de erros. Em versões anteriores do Access, esses tipos de recursos estão disponíveis apenas usando o VBA. Além disso, você pode inserir uma

Page 25: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 25

macro diretamente na propriedade de evento de um objeto ou controle. Uma macro inserida se torna parte do objeto ou controle e permanecerá com eles se for movida ou copiada.

As macros oferecem uma maneira fácil de lidar com várias tarefas de programação, como abrir e fechar formulários e executar relatórios. Você pode unir com rapidez e facilidade os objetos de banco de dados (formulários, relatórios e assim por diante) criados, pois há pouca sintaxe para memorizar. Os argumentos de cada ação são exibidos no Construtor de Macros.

Além do aumento da segurança e da facilidade de uso oferecidos pelas macros, você deve usar macros para executar as seguintes tarefas:

Atribuir uma ação ou conjunto de ações a uma chave. Isso exige a criação de um grupo de ma-cros chamado AutoKeys.

Executar uma ação ou uma série de ações quando um banco de dados é aberto pela primeira vez. Isso exige a criação de uma macro chamada AutoExec.

Observação: A macro AutoExec é executada antes de qualquer outra macro ou código VBA, mesmo se você tiver indicado um formulário de inicialização na caixa de diálogo Opções do Access e anexado uma macro ou código VBA ao evento OnOpen ou OnLoad desse formulário.

Uma macro é uma ferramenta que permite automatizar tarefas e adicionar funcionalidade a formulários, relatórios e controles. Por exemplo, se você adicionar um botão de comando a um formulário, associará o evento OnClick do botão a uma macro que conterá os comandos para execução do botão sempre que ele for clicado.

Pense em macros como uma linguagem de programação simplificada na qual você cria código criando uma lista de ações a serem executadas. Ao criar uma macro, você seleciona cada ação em uma lista suspensa e, depois, preenche as informações necessárias para cada ação. As macros permitem adicionar funcionalidade a formulários, relatórios e controles sem escrever códigos em um módulo do VBA. As macros oferecem um subconjunto dos comandos disponíveis no VBA, e a maioria das pessoas considera mais fácil criar uma macro do que escrever código VBA.

MÓDULOS

Os módulos, como as macros, são objetos que você pode usar para adicionar funcionalidade ao banco de dados. Enquanto você cria macros no Access escolhendo uma opção em uma lista de ações de macro, os módulos são criados na linguagem de programação VBA (Visual Basic for Applications).

Um módulo é uma coleção de declarações, instruções e procedimentos armazenados juntos como uma unidade. Um módulo pode ser um módulo de classe ou um módulo padrão.

Os módulos de classe são anexados a formulários ou relatórios e normalmente contêm proce-dimentos específicos do formulário ou do relatório aos quais estão anexados.

Os módulos padrão contêm procedimentos gerais que não estão associados a qualquer outro objeto. Esses módulos estão listados em Módulos no Painel de Navegação, enquanto que os módulos de classe não estão.

Page 26: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br26

CONSIDERAÇÕES SOBRE VBA

Assim como as macros, o VBA permite adicionar automação e outras funcionalidades ao seu aplicativo do Access. Você pode estender o VBA usando controles de terceiros e gravar suas próprias funções e procedimentos de acordo com suas necessidades específicas.

Uma maneira rápida de começar com a programação de VBA é criar uma macro do Access e con-vertê-la em código VBA. As instruções para fazer isso estão incluídas na seção Converter macros em código VBA. Esse recurso cria um novo módulo de VBA que executa as operações equivalentes na macro. Também abre o Editor do Visual Basic para que você possa começar modificando o pro-cedimento. Quando você estiver trabalhando no Editor do Visual Basic, clique nas palavras-chave e pressione F1 para iniciar a Ajuda para Desenvolvedores do Access e saber mais sobre cada pala-vra-chave. Depois, você pode explorar a Ajuda para Desenvolvedores do Access e descobrir novos comandos para ajudar você a realizar as tarefas programação desejadas.

Você deverá usar a programação VBA em vez de macros se quiser realizar um destes procedi-mentos:

USE FUNÇÕES INTERNAS OU CRIE SUAS PRÓPRIAS FUNÇÕES

O Access inclui muitas funções internas, como a função IPmt que calcula o pagamento de juros. Use essas funções internas para executar cálculos sem precisar criar expressões complicadas. Usando o código VBA, você também pode criar suas próprias funções para executar cálculos que excedem a capacidade de uma expressão ou para substituir expressões complexas. Além disso, você pode usar as funções que criou nas expressões para aplicar uma operação comuns a mais de um objeto.

CRIAR OU MANIPULAR OBJETOS

Na maioria dos casos, será mais fácil criar e modificar um objeto no modo de Design desse ob-jeto. No entanto, em algumas situações, convém manipular a definição de um objeto no códi-go. Com o VBA, você pode manipular todos os objetos em um banco de dados, além do próprio banco de dados.

EXECUTAR AÇÕES NO NÍVEL DO SISTEMA

Você pode executar a ação RunApp em uma macro para executar outro programa (como o Mi-crosoft Excel) no Access, mas não pode usar uma macro para fazer muito mais do que isso fora do Access. Com o VBA, você pode verificar se existe um arquivo no computador, usar a Automa-ção ou DDE (troca dinâmica de dados) para se comunicar com outros programas baseados no Microsoft Windows, como o Excel, e chamar funções em DLLs (Bibliotecas de vínculo dinâmico) do Windows.

Page 27: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 27

MANIPULAR UM REGISTRO POR VEZ

Use VBA para percorrer um conjunto de registros, um registro por vez, e executar uma opera-ção em cada registro. Por outro lado, macros trabalham com conjuntos inteiros de registros de uma só vez.

CONVERTER MACROS EM CÓDIGO VBA

Você pode usar o Access para converter automaticamente as macros em módulos do VBA ou em módulos de classe. Você pode converter as macros associadas a um formulário ou relatório, quer elas existam como objetos separados ou macros inseridas. Você também pode converter as macros globais que não estão anexadas a um formulário ou relatório específico.

Observação: Você pode adicionar o código VBA (Visual Basic for Applications) a um banco de dados da Web. No entanto, você não pode executar esse código enquanto o banco de dados es-tiver em execução em um navegador da Web. Se o seu banco de dados da Web contiver código VBA, primeiro abra o banco de dados da Web usando o Access antes de executar o código. Para executar tarefas programação em um banco de dados da Web, use macros do Access.

BOTÕES DE COMANDOS

Use o Assistente de Botão de Comando para executar tarefas comuns de programação. Se você estiver adicionando um botão de comando a um formulário, o Assistente de Botão de Coman-do poderá ajudar você a começar com a programação. O assistente ajuda a criar um botão de comando que realiza uma tarefa específica. Em um arquivo do Access (.accdb), o assistente cria uma macro inserida na propriedade OnClick do botão de comando. Em um arquivo .mdb ou .adp, o assistente cria um código VBA, pois as macros inseridas não estão disponíveis nesses formatos de arquivo. Em ambos os casos, modifique ou melhore a macro ou o código VBA a fim de atender melhor às suas necessidades.

Page 28: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br28

MODELAGEM DE DADOS

Modelagem de Dados é uma descrição formal da estrutura de um banco de dados. Tem como objetivo representar os dados de forma mais simples, usando um conjunto de tabelas inter--relacionadas.

Inicia-se a modelagem do banco de dados em um nível denominado “conceitual”, que deverá descrever quais dados serão armazenados (Entidade e Atributos) e quais os relacionamentos entre eles.

É uma visão geral do conteúdo do banco de dados.

A modelagem de dados é um processo no qual você planeja e projeta o modelo a ser utilizado para a construção do seu Banco de Dados, de forma que este reflita os conceitos do negócio a ser atendido. É muito importante que haja um perfeito entendimento e compreensão das ne-cessidades de informação do negócio que será atendido pelo projeto do banco de dados.

OBJETIVO DA MODELAGEM DE DADOS

• Representar os conceitos do ambiente de negócios;

• Documentar e normalizar os dados;

• Fornecer processos de validação;

• Identificar os relacionamentos entre os objetos que constarão no banco de dados;

• Representar as regras que regulam os processos no ambiente de negócios.

PROJETANDO UM BANCO DE DADOS

O que deve ser observado ao projetar nosso banco de dados:

1. Criar as Entidades baseadas na necessidade do negócio;

2. Definir quais Atributos cada Entidade possuirá;

3. Determinar os Relacionamentos entre as Entidades.

4. Criar o Dicionário de Dados contendo cada Entidade do modelo com seus atributos, tipos de dado (obrigatoriedade), chave primaria e restrições de integridade.

Page 29: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 29

ESQUEMA DO BANCO DE DADOS

É uma definição do banco de dados especificada durante o projeto – armazenada no dicionário de dados;

Um Esquema (em inglês Schema) raramente muda durante a vida do SGBD, a não ser que você tenha cometido um erro e seja necessária uma alteração;

É a organização dos dados de forma a mostrar como o banco de dados é construído;

O Esquema define: tabelas, campos, relacionamentos, visões, funções e demais elementos do SGBD.

ARQUITETURA DE 3 NÍVEIS

MCD - Modelo Conceitual de Dados (alto nível)

• É a 1ª fase da modelagem. Uma representação do real usando uma visão simplificada dos da-dos relacionados. Rascunho do banco de dados: as Entidades, Atributos e Relacionamentos.

• É Independente do SGBD: pode ser utilizado em qualquer software de gerenciamento de banco de dados (SQL Server, Access, Oracle Data Base...).

O modelo Conceitual é também uma descrição do banco de dados, porém, de uma forma in-dependente da implementação que será feita: ele independe de qual SGBD será utilizado na implementação. Desta forma, um mesmo modelo conceitual poderá ser utilizado para imple-mentação em Access, Oracle, DB2.

O modelo conceitual indica quais os dados que poderão aparecer no banco de dados, mas não informa de que forma estes mesmos dados serão armazenados no nível do SGBD. Em resumo, um modelo conceitual é um modelo abstrato que descreve a estrutura de um banco de dados de forma independente do SGBD.

MLD - Modelo Lógico de Dados

• Possui conceitos que o usuário ainda consegue entender;

• Assim como ocorre no modelo Conceitual, é indepen-dente do Sistema Gerenciador de Banco de Dados;

• Os tipos de dados devem ser completamente definidos;

Page 30: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br30

• Usa o DER (Diagrama Entidade-Relacionamento).

• Se aproxima um pouco mais da implementação real, ou seja, ele é a abstração no nível do usuário do SGBD, e, é dependente de qual SGBD será implementado (software no qual será desenvolvido).

• O modelo lógico descreve a estrutura do banco de dados no nível do SGBD.

MFD - Modelo Físico de Dados (baixo nível)

• É derivado a partir do modelo Lógico;

• Detalhar a estrutura das informações que serão guardadas no SGBD;

• Tabelas, campos, relacionamentos, tipos (Inteiro, Caractere...) e tamanho do campo.

O Modelo Físico é o último passo antes da geração dos scripts de implementação. Ele é totalmente dependente do SGBD específico que será utilizado. Além das definições de chave primária e chaves estrangeiras (que já estão pre-sentes no modelo lógico), o modelo físico contempla defi-nições de armazenamento que não tem influência alguma nas etapas anteriores, mas é crucial no tocante à perfor-mance geral do banco de dados como Tipo de Dados, Ta-manho do Campo, Descrição...

MER (MODELO ENTIDADE RELACIONAMENTO)

Modelo ER (MER) é um modelo conceitual para a elaboração de um banco de dados, e tem o objetivo de descrever as entidades (objetos/tabela) com seus atributos (campos) e como estas se relacionam entre si

Exemplo de um diagrama “MER”

Os nomes dos atributos (em tom de cinza) colocados do lado de fora, próximos de cada obje-to, tem caráter ilustrativo, e, na verdade, deverão substituir os nomes presentes dentro das formas geométricas.

Page 31: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 31

O MER representa de forma abstrata a estrutura da aplicação a ser desenvolvida (banco de dados). O SGBDR (Sistema Gerenciador de Banco de Dados Relacional) poderá conter várias outras entidades (tabelas), tais como chaves (primárias, compostas e estrangeiras) e tabelas intermediárias, que podem só fazer sentido no contexto de bases de dados relacionais (como exemplo de tabelas intermediárias temos a Tabela Vendas que permitirá interligar diversas ou-tras tabelas do nosso banco de dados, como Clientes e Produtos).

ENTIDADES

Uma Entidade é uma representação de um conjunto de informações sobre determinado con-ceito do sistema. Podemos entender que uma Entidade equivale a uma Tabela em nosso banco de dados e quando identificamos todas as Entidades, identificamos as Tabelas que serão cria-das em nosso banco de dados.

Toda Entidade possui Atributos. Os Atributos serão os campos das nossas Tabelas.

Um modelo de dados contém diferentes tipos de Entidades que são diferenciadas pelo formato dos identificadores. A classificação de cada uma dessas Entidades pelo tipo ajudará você a definir quais perguntas devem ser feitas.

TIPOS DE ENTIDADES (TABELAS)

ENTIDADE ou ENTIDADE-TIPO

São independentes e com frequência constituem o ponto de partida para a modelagem de um banco de dados. As Entidades são conectadas a outras entidades por meio de um Relacionamento. Exemplos de Entidades: Cliente, Produto, Curso.

ENTIDADE FRACA ou DEPENDENTE

É uma Entidade que depende de outra Entidade para existir. O identificador de uma entidade fraca possui em sua composição um ou mais atributos identificadores da Entidade à qual a está associada.

Exemplo: Um cliente que possui cartão de crédito em seu nome pode ter “dependentes”. Ima-gine uma Entidade chamada Cliente e outra relacionada a esta chamada Dependente.

A Entidade Dependente é uma entidade fraca em relação à entidade Cliente, pois se Cliente não existisse, Dependente não teria razão para existir.

Page 32: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br32

ENTIDADE ASSOCIATIVA

É o resultado de relacionamentos n:n (m:m ou muitos-para-muitos). Em geral, as Entidades Associativas são encontradas entre Entidades-Tipo e seus nomes são óbvios.

Exemplo: a Entidade Associativa do relacionamento Alunos e Disciplinas, que deverá fazer referência ao lançamento das notas dos alunos, chama-se Notas.

ENTIDADE AGREGADA

É criada quando existe um conjunto de Atributos que aparecem em mais de uma Entidade, isto é, quando várias Entidades distintas possuem Atributos (campos) em comum. Nestes casos devemos criar uma Entidade Agregada contendo os atributos que se repetem em mais de uma entidade. Por exemplo, como os Atributos de um serviço podem ocorrer em entidades diferentes, por exemplo, Clientes e Hotel, podemos criar uma Entidade Agregada Serviço para armazenar detalhes de todos os Serviços relacionados ao Cliente (serviços solicitados) e ao Hotel (serviços prestados).

ENTIDADE SUBORDINADA

Devemos usar entidades subordinadas toda vez que tivermos Entidades que compartilham conceitos semelhantes, mas com características próprias.

Exemplo: uma Entidade Cliente contendo os campos CodCliente, Nome, Endereço e Tel e duas Entidades Subordi-nadas: Pessoa Física (contendo o CPF) e Pessoa Jurídica (con-tendo o CNPJ).

Tanto Pessoa Física quanto Pessoa Jurídica possuem Atribu-tos semelhantes (CodCliente, Nome, Endereço e Tel), mas também possuem características próprias (CPF para a Pessoa Física e CNPJ para a Pessoa Jurídica).

Page 33: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 33

ATRIBUTOS

• Obrigatórios: devem possuir valor; não podem conter valores nulos (not null).

• Opcional: podem ou não possuir um valor nulo (null).

Descrevem características da entidade (são os campos de uma tabela): CodCliente, Nome, En-dereço, Tel...;

Serão preenchidos por um tipo de dado: texto, número, moeda, data/hora...;

No diagrama, os Atributos podem ser representados por uma elipse (recomendando), ou apenas pelo seu nome ligado à Entidade.

TIPOS DE ATRIBUTOS (CAMPOS OU COLUNAS)

SIMPLES (ATÔMICOS ou MONOVALORADOS)

Não possuem características e são indivisíveis. Ex.: Nome, CPF, CNPJ.

COMPOSTOS

Devem ser desmembrados, subdivididos em outros atributos simples atômicos.

Ex.: Endereço (Rua, Bairro, Cidade).

MULTIVALORADOS

Permitem mais de um valor para um registro. Ex.: Telefone (Fixo, Cel1, Cel2, Trabalho, Fax).

Page 34: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br34

DERIVADOS

Os valores destes atributos derivam de outros atributos. O valor do atributo Idade, por exemplo, deriva da data de nascimento do cliente.

DETERMINANTES (IDENTIFICADORES)

São os atributos denominados “chaves primárias”. São valores únicos, que nunca se repetem. Podem ser representados no diagrama com sublinhado ou um círculo preenchido. Ex.: CPF, CNPJ.

EXISTEM DIFERENTES MÉTODOS PARA REPRESENTAÇÃO ENTIDADES-RELACIONAMENTOS

Peter Chen e Crow’s Foot (Pé de Galinha) são os mais usados (vide figuras), mas também é possível utilizar Martin, Bachman, Min-Max, IDEF1X, UML, entre outros.

NOTAÇÃO DE PETER CHEN

Page 35: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 35

NOTAÇÃO CROW’S FOOT (PÉ DE GALINHA)

RELACIONAMENTOS

Um SGBDR (Sistema Gerenciador de Banco de Dados Relacional) é uma coleção tabelas, que estão associadas umas às outras através de campos em comum que permitem o relacionamento.

É um conjunto de registros (tuplas) que representam um modelo de uma entidade.

As Entidades podem ser conectadas entre si por meio de Relacionamentos.

Cada registro da tabela representa uma instância de uma entidade, e o conjunto de todas as instâncias com seus atributos é chamado de Relação. São os registros constantes nas Tabelas.

PORQUE EXISTEM OS RELACIONAMENTOS

Como os dados são armazenados em diferentes entidades (tabelas), geralmente precisamos combinar duas ou mais tabelas para responder às perguntas específicas dos usuários.

Os relacionamentos são representados nos diagramas por um losango.

Nas ligações Entidades-Relacionamentos vemos a Cardinalidade, que indica a quantidade mínima e máxima de instâncias entre duas ou mais entidades relacionadas: (0,n), (1,n), (0,1), (1, 1).

No exemplo abaixo, a ENTIDADE1 tem algum tipo de relacionamento (associação) com a ENTI-DADE2.

GRAUS DE RELACIONAMENTOS

Define o número (quantidade) de Entidades que participam de um relacionamento.

Embora possam existir vários graus, o mais comum é que existam três:

Page 36: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br36

Unário (Auto-Relacionamento ou Recursivo), Binário e Ternário.

Os relacionamentos devem ser descritos com um verbo, na 3ª pessoa do singular, presente do indicativo. Ex.: possui, carrega, solicita, registra, compra, guarda, trabalha...

*RELACIONAMENTO UNÁRIO

Um relacionamento Unário é uma maneira de represen-tarmos relações de hierarquia entre ocorrências de uma mesma Entidade, por exemplo, vamos considerar uma entidade Funcionário que possui um gerente. Nesta situ-ação existe um relacionamento entre as ocorrências da Entidade Funcionário onde um funcio-nário é gerente de outro funcionário.

Uma vez que as entidades são identificadas, deve-se então definir como se dá o relacionamento entre elas. De acordo com a quantidade de objetos envolvidos em cada lado do relacionamento, podemos classificá-los de três formas:

Relacionamento 1..1 (um para um): cada uma das duas entidades envolvidas referenciam obrigatoriamente apenas uma unidade da outra. Por exemplo, em um banco de dados de currículos, cada usuário cadastrado pode possuir apenas um currículo na base, ao mesmo tempo em que cada currículo só pertence a um único usuário cadastrado.

Relacionamento 1..n ou 1..* (um para muitos): uma das entidades envolvidas pode referenciar várias unidades da outra, porém, do outro lado cada uma das várias unidades referenciadas só pode estar ligada uma unidade da outra entidade. Por exemplo, em um sistema de plano de saúde, um usuário pode ter vários dependentes, mas cada dependente só pode estar ligado a um usuário principal. Note que temos apenas duas entidades envolvidas: usuário e dependente. O que muda é a quantidade de unidades/exemplares envolvidas de cada lado.

Relacionamento n..n ou *..* (muitos para muitos): neste tipo de relacionamento cada entidade, de ambos os lados, podem referenciar múltiplas unidades da outra. Por exemplo, em um sistema de biblioteca, um título pode ser escrito por vários autores, ao mesmo tempo em que um autor pode escrever vários títulos. Assim, um objeto do tipo autor pode referenciar múltiplos objetos do tipo título, e vice versa.

Os relacionamentos em geral são nomeados com verbos ou expressões que representam a forma como as entidades interagem, ou a ação que uma exerce sobre a outra. Essa nomenclatura pode variar de acordo com a direção em que se lê o relacionamento. Por exemplo: um autor escreve vários livros, enquanto um livro é escrito por vários autores.

Page 37: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 37

DER (DIAGRAMAÇÃO ENTIDADE RELACIONAMENTO)

A notação1 original do DER foi proposta por Peter Chen;

É a representação gráfica de um MER, que é um modelo conceitual;

Facilita a modelagem e a comunicação entre os membros da equipe de desenvolvedores do SGBD.

NOTAÇÃO DE PETER CHEN

Relacionamento Forte (linha sólida): uma Entidade filha depende de uma Entidade pai. A chave primária da Entidade filha contém a chave primária da Entidade pai. __________________

Relacionamento Fraco (linha tracejada): a existência de uma Entidade independe de ou-tras. A chave primária da Entidade filha não contém a chave primária da Entidade pai. __________________

ALGUNS SOFTWARES (FERRAMENTAS CASE) PARA DIAGRAMAÇÃO

MsVisio, brModelo, Lucidchart, MySQL Workbench, Visual Paradigm, Astah, Erwin Data Mode-ler, ERD Plus, Star UML, GenMyModel.

Algumas destas ferramentas de diagramação permitem fazer a modelagem e depois exportar o código SQL para montar as tabelas no banco de dados.

REPRESENTAÇÃO DE ENTIDADES E ATRIBUTOS

DIAGRAMA

1 Notação: sistema de representação ou designação convencional. Conjunto de sinais com que se faz essa representação ou designação.

Page 38: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br38

TEXTUAL

TabClientes (*CódCliente, Nome, DtNasc, Tel, Endereço, Rua, Bairro, Cidade)

CHAVES

São campos (atributos ou colunas) de uma relação cujos valores são exclusivos e permitem identificar um registro (chave primária) ou mais registros (chave estrangeira).

CONCEITO DE DOMÍNIO

Os campos que se relacionam e que permitem o intercâmbio de dados entre as tabelas (chaves) garante a Integridade Referencial. Na maioria dos casos, quando um registro é excluído de um tabela, deverão ser excluídos também os dados correspondentes a estes registros nas demais tabelas relacionadas, caso contrário ocorrerão erros, a não ser, por exemplo, nos casos onde queremos manter um histórico de vendas ou de aluguéis, mesmo depois de o cliente ter sido excluído da tabela de clientes porque não atende mais aos pré-requisitos que antes atendia (mudou, faleceu, concluiu o curso...). Ainda assim pode ser interessante mantê-lo, pelo menos, no histórico de movimentações.

• Necessário definir o tipo de dados de cada campo;

• Necessário especificar para cada campo a quantidade de bytes (caracteres) suportados.

TIPOS DE CHAVES

• ÚNICA (Unique)

CANDIDATA: tem potencial para ser tornar chave primária. Uma Chave Candidata que não foi usada como Chave Primária é conhecida como Chave Alternativa (ex.: CPF);

COMPOSTA: constituída de dois ou mais atributos (campos) para melhor identificar um regis-tro. Ex.: a junção do Nome (que pode se repetir) com o Tel (que é único). Usada quando não há possibilidade de usar um registro (campo) único identificador.

É muito importante entender que não existem 2 chaves primárias e sim chave primária com-posta.

A chave primária composta é aquela que é atribuída a dois ou mais campos e desta forma passa a utilizar a junção dos dados destes campos indicados para formar um valor único e assim apli-car o bloqueio de duplicidade com mais eficiência.

Page 39: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 39

PRIMÁRIA: chave principal da tabela. Identifica de forma única um registro da tabela. Não pode ter valor nulo ou repetido e, não deve ser alterado o valor da chave primária após o registro. A chave primária é identificada como PK (Primary Key).

SUBSTITUTA ou SURROGADA: valor numérico (Número ou AutoNumeração) para servir de cha-ve primária. Não possui significado direto para os usuários e geralmente este campo fica escon-dido.

• NÃO-ÚNICA ou CHAVE ESTRANGEIRA (FK - Foreign Key)

Permite o relacionamento entre os dados de duas ou mais tabelas. É um campo que liga à Chave Primária. São classificadas como “ponteiros lógicos” (apontam de uma tabela para outra). Uma Chave Estrangeira deve corresponder a um valor existente em uma Chave Primária associada, caso contrário, deve ser nulo.

CARDINALIDADE

Diz respeito à quantidade mínima e máxima de instâncias entre duas ou mais entidades relacio-nadas.

CARDINALIDADE MÍNIMA: mínimo “obrigatório” de instâncias que devem participar de um re-lacionamento:

0 = opcional (pode ou não existir);

1 = obrigatório.

CARDINALIDADE MÁXIMA: número máximo de instâncias que devem participar de um relacio-namento:

1 = somente uma instância;

N = várias, muitas instâncias.

NOTAÇÃO DE PETER CHEN

Modelo conceitual com simbologias para cardinalidades

Page 40: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br40

EXEMPLO 1: LOCAÇÃO DE AUTOMÓVEIS

Situação hipotética: o Cliente só pode alugar um Carro por vez; e, consequentemente, este Car-ro só pode estar vinculado a este Cliente por vez; podemos representar esta situação conforme os diagramas das figuras abaixo:

EXEMPLO 2: LOCAÇÃO DE FILMES

Situação hipotética: o Cliente pode alugar vários Filmes por vez; e, consequentemente, este Filme só pode estar vinculado a este Cliente por vez; podemos representar esta situação con-forme os diagramas das figuras abaixo:

NOTAÇÃO DE CARDINALIDADE

(1,1) um-para-um pode ser representado também como (1)

(1,n) um-para-n (um-para-muitos ou um-para-vários) pode ser representado também como (n)

(0,1) zero-para-um (pode ser nulo ou no máximo 1)

(0,n) zero-para-n (zero-para-muitos ou zero-para-vários); pode ser nulo ou conter muitos registros.

Page 41: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 41

As representações a seguir são equivalentes:

um-para-um

muitos-para-um

muitos-para-muitos

COMO INTERPRETAR OS RELACIONAMENTOS

Em uma locadora de automóveis, como ocorre o relacionamento entre os clientes e os carros alugados?

DICIONÁRIO DE DADOS (REPOSITÓRIO DE METADADOS)

É um documento usado para armazenar informações sobre o conteúdo, formato e a estrutura de um banco de dados; também os relacionamentos entre seus elementos.

Também conhecido como Repositório de Metadados por conter informações adicionais sobre o funcionamento dos dados armazenados no banco de dados (são informações acerca de outras informações, daí o termo “metadados”)

O objetivo de um Dicionário de Dados é limitar os erros durante a elaboração física do banco de dados no computador e permitir uma consulta e melhor entendimento sobre o objetivo do banco de dados.

Page 42: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br42

Exemplo 1

Exemplo 2

1FN (PRIMEIRA FORMA NORMAL)

Visa reprovar atributos multivalorados, compostos e suas combinações.

O domínio de um atributo deve incluir apenas valores atômicos (indivisíveis), e o valor de qual-quer atributo em uma tupla (registro) deve ser único valor do domínio desse atributo.

Quanto uma tabela está na 1FN ela só possui valores atômicos e existe uma chave primária;

Endereço (Rua, Bairro, Cidade...), Nome (Nome e sobrenome), Tel (fixo, móvel) são exemplos de campos que NÃO poder estar contidos numa tabela na 1ª Forma Normal porque são subdi-vididos em outros campos conforme mostrado dentro dos parênteses.

EXEMPLO DE COMO NORMALIZAR UMA TABELA USANDO A 1FN (PRIMEIRA FORMA NORMAL)

Primeiro vemos que a tabela possui os campos Endereços e Telefones que podem ser subdivididos.

Desmembramos o campo Endereço em Rua, Bairro, Cidade, Uf e CEP.

O campo Telefones (multivalorado) deu origem a outra tabela onde o cliente poderá ter um ou vários telefones registrados.

Page 43: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

Modelagem de Dados – Prof. Marcelo Ribeiro

www.acasadoconcurseiro.com.br 43

2FN (SEGUNDA FORMA NORMAL)

Visa reprovar atributos que não dependem diretamente da chave primária (comumente no caso de tabelas que possuem chave primária composta na qual 2 campos da tabela são usados como chaves).

EXEMPLO DE COMO NORMALIZAR UMA TABELA USANDO A 2FN (SEGUNDA FORMA NORMAL)

Observe que os campos EndereçoFornecedor e TelFornecedor não dependiam diretamente dos campos chave primária compostas: EndereçoFornecedor tem relação com o CodFornecedor, mas não necessariamente com o CodMercadoria. O mesmo ocorreu com o campo TelFornece-dor. Então, por não dependerem diretamente da chave primária composta pelos campos Co-dMercadoria e CodFonercedor, simultaneamente, ambos os campos foram levados para uma outra tabela denominada TabFornecedores.

3FN (TERCEIRA FORMA NORMAL)

Baseada no conceito de Dependência Transitiva.

O objetivo é chegar à 3FN, por isto, deve-se passar pela 1FN e 2FN. Sabendo disto é correto afirmar que para uma tabela estar na sua Terceira Forma Normal, deverá estar na sua Segunda Forma Normal.

Para cada atributo (campo) não chave que for determinante na relação, deve-se criar uma tabela. Este atributo (campo) será a chave primária da nova relação (tabela).

O atributo continuará também na tabela original e servirá de ligação (chave estrangeira) para associação das duas tabelas.

Page 44: TCE - Amazon S3 · minhos que você pode tomar para criar um banco de dados da área de trabalho do Access, adicionar dados a ele e então conhecer as próximas etapas para personalizar

www.acasadoconcurseiro.com.br44

FNBC (FORMA NORMAL DE BOYCE-CODD)

Além das 1FN, 2FN e 3FN, ainda existe a FNBC, mas não irei aprofundar este tópico por consi-derar desnecessário.

Apenas como informação básica sobre a FNBC:

A maioria das relações que estão na 3FN também estarão na FNBC.

Quando existem chaves candidatas (que ainda não foram definidas como primárias ou compos-tas), mas observamos que o melhor seria quebrar ainda mais a tabela gerando novas tabelas para que ocorra um relacionamento sem conflitos.

DEPENDÊNCIA FUNCIONAL DOS CAMPOS

Ocorre quando uma Entidade possui Atributos que dependem de outros Atributos para existi-rem, por exemplo: Em um banco de dados que permite gerenciar uma locadora de automóveis, existe uma tabela TabAutomoveis contendo vários campos, dentre eles os campos CodAluguel, DtSaida e DtRetorno relacionados aos automóveis alugados. Note que não faz sentido os cam-pos que registram as datas de saída (DtSaida) e de chegada (DtRetorno) do automóvel, na loca-dora, se não ocorrer um aluguel (CodAluguel).

O atributo que determina o valor é chamado DETERMINANTE (CodAluguel).

Os outros atributos que existem somente devido ao DETERMINANTE são DEPENDENTES (DtSai-da e DtRetorno).

Um campo Chave Primária determina funcionalmente todos os outros atributos (campos) não--chave do mesmo registro.

DEPENDÊNCIA FUNCIONAL TOTAL (X→Y)

Está diretamente relacionada a um campo (atributo) que depende de uma Chave Primária Composta (uma chave derivada de dois campos), onde o campo depende de ambos os campos chave da Chave Primária Composta.

DEPENDÊNCIA FUNCIONAL PARCIAL

Está diretamente relacionada a um campo (atributo) que depende de uma Chave Primária Composta (uma chave derivada de dois campos), onde o campo depente apenas de um dos campos chave da Chave Primária Composta.

DEPENDÊNCIA FUNCIONAL TRANSITIVA

Ocorre quando um campo (atributo) não depende de um campo Chave Primária (PK), mas de-pende de outro campo que não é chave.

DEPENDÊNCIA MULTIVALORADA (X→→Y)

Acontece quando para o valor de um campo (atributo) existe um conjunto de valores para outros campos, mas onde estes “outros” campos não são dependentes entre si.