Upload
phungtruc
View
222
Download
0
Embed Size (px)
Citation preview
Bancos de dados relacionais
Este é ainda o conceito mais usado em toda a implementação computacional relacionada a banco de dados.
Parte do princípio das relações entre a modelagem informal e possui normas matemáticas para sua criação.
Permite a abstração dos modelos lógicos e físicos. É a técnica que mais se aproxima da visão natural
do mundo real, consistindo de entidades e seus relacionamentos.
Modelo concebido pelo Dr. Peter Chen na década de 70 http://www.csc.lsu.edu/~chen/chen.html “The Entity-Relationship Model: Toward the unified view of data”
A formalização daquilo que é óbvio.
Modelagem conceitual
Modelo – É a representação abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar o seu comportamento, em seu todo ou em partes. (COUGO, 1997)
A obtenção do modelo através dos objetos observados deve levar em conta alguns quesitos: – Abrangência
– Nível de detalhamento
– Tempo para a produção do modelo
– Recursos disponíveis
Modelagem conceitual
A modelagem de dados tem sido utilizada basicamente para definição de estruturas de dados, mas este processo vai além deste papel.
Pode ser definida através de formas diferentes:
– Descritiva
– Esquemática
– Modelo de Dados (DER)
Bancos de dados relacionais
Todo (software de) banco de dados (relacional) possui elementos básicos de organização da informação, a saber: – Tabelas
Composta por campos (atributos) e registros (tuplas)
– Consultas Interface para pesquisa (recuperação da informação)
implementada na grande maioria dos bancos em uma linguagem padronizada denominada SQL
Alguns fabricantes acrescentam ainda como elementos nativos do banco de dados: – Formulários
Interface para comunicação com o usuário final, janelas com elementos de alto nível de interação humana (botões, caixas de listagem, etc...)
– Relatórios Interface para visualização e impressão das informações
previamente pesquisadas (filtradas)
Bancos de dados relacionais - Tabelas
Modelo de organização da informação composto por linhas e colunas e dotado de regras para implementar a segurança a nível de domínio informacional:
– Texto
– Números
– Data/Hora
Proposta de implementação
Pequeno projeto baseado em 3 tabelas a fim de promover o entendimento sobre
– Estruturas de dados
– Chave primária e chave estrangeira
– Cardinalidade e Relacionamentos
– Consultas
Veremos adiante como esta teoria influencia as demais tecnologias mesmo em formatos não estruturados de dados
Projeto – Criação do banco de dados
Vamos utilizar para fins didáticos o software Access, encontrado no pacote Office da empresa Microsoft. Produto largamente utilizado no sistema operacional Windows.
Ao abrir o software Access: – Clique no Menu | Arquivo | Novo
– Opção | Banco de dados em branco
– Salvar o arquivo na pasta a ser determinada com o nome Empresa.mdb
– Uma janela denominada Empresa: Banco de dados é exibida, nesta janela encontraremos os principais comandos e recursos para o manuseio do projeto.
Projeto - Criação das tabelas Setores
Para criar nossa primeira tabela, acesse o Menu | Inserir | Tabela
Dentre as opções, escolha Modo de Design | OK
Salve a tabela com o nome Setores
OBS: Nas perguntas sobre ‘chave primária’ responda NÃO até que abordemos
este tema
Modo estrutura da tabela
Projeto - Criação das tabelas Funcionarios
Para criar a próxima tabela, feche a primeira tabela e repita o comando, acesse o Menu | Inserir | Tabela
Insira os campos e escolha os tipos de dados
Salve a tabela com o nome Funcionarios
OBS: Nas perguntas sobre ‘chave primária’ responda NÃO até que abordemos
este tema
Modo estrutura da tabela
Projeto - Criação das tabelas Dependentes
Para criar a próxima tabela, feche a tabela anterior e repita o comando, acesse o Menu | Inserir | Tabela
Insira os campos e escolha os tipos de dados
Salve a tabela com o nome Dependentes
OBS: Nas perguntas sobre ‘chave primária’ responda NÃO até que abordemos
este tema
Modo estrutura da tabela
Bancos de dados relacionais – Tabelas – Chave primária
Necessidade de identificar um registro (linha) de maneira única
Geralmente criada em formato numérico
Deve ser independente de políticas informacionais externas ao banco de dados
Pode ser implementada em um campo (coluna) ou através da combinação de dois ou mais campos
Permite a relação entre entidades (tabelas)
Projeto – Definição do campo chave nas tabelas
Após a definição lógica do campo a ser usado como chave, selecione a tabela no modo estrutura
1. Selecione o campo a ser promovido a chave primária
2. Clique no ícone chave da barra de ícones
1º
2º
Projeto – Populando as tabelas
Para inserir dados nas tabela, abra a mesma no modo ‘folha’ através de um duplo clique ou através do botão ‘abrir’ da janela do banco de dados.
Obs: Os campos ‘auto numeração’ não aceitam a inserção ou alteração de seus dados. O próprio sistema gera a informação nestes campos.
Bancos de dados relacionais – Relacionamento e Cardinalidade
1:1 (um para um)
Indica que um determinado registro de uma entidade tem uma relação única com outro registro de outra entidade. E vice versa. Geralmente relacionamentos 1:1 indicam a fusão das duas entidades em uma única entidade.
– Exemplo: Entidade Governador e Entidade Estado
Bancos de dados relacionais – Relacionamento e Cardinalidade
1:N (um para vários)
Indica que um determinado registro de uma entidade tem várias relações com outros registros de outra entidade, e o caminho inverso é uma relação 1:1. É o tipo de relacionamento mais utilizado e mais desejado no mapeamento da modelagem de dados.
O lado 1 da relação, exporta a chave primária para o lado N da relação.
– Exemplo: Entidade Países e Entidade Estado
Bancos de dados relacionais – Relacionamento e Cardinalidade
N:N (vários para vários)
Indica que um determinado registro de uma entidade tem várias relações com outros registros de outra entidade e vice-versa.
– Exemplo: Entidade Alunos e Entidade Disciplinas
Bancos de dados relacionais – Relacionamento e Cardinalidade
A técnica consiste em perguntas para saber em que cardinalidade a relação entre as tabelas está relacionada.
Questiona-se se da tabela 1 para tabela 2, os registros possuem 0, 1 ou várias ocorrências?
T1 T2
Bancos de dados relacionais – Relacionamento e Cardinalidade
Para implementarmos o relacionamento entre as tabelas, clique no menu | Ferramentas | Relacionamentos
Adicione as tabelas através da caixa de diálogo
Posicione as mesmas como no exemplo abaixo
Bancos de dados relacionais – Relacionamento e Cardinalidade
Os campos chave estão negritados propositalmente
Cada tabela possui um campo de referência a outra tabela, que devemos denominar ‘chave estrangeira’
A ‘chave estrangeira’ permite implementar o relacionamento entre duas ou mais tabelas
Relacionamento entre Setores e Funcionarios
Clique no campo chave da relação identificada e arraste
até o campo chave estrangeira da outra tabela. A janela de
edição de relacionamentos será exibida.
Confirme as tabelas relacionadas; Configure as opções; Confira o tipo de relacionamento; Crie o relacionamento.
Relacionamento entre Funcionarios e Dependentes
Clique no campo chave da relação identificada e arraste
até o campo chave estrangeira da outra tabela. A janela de
edição de relacionamentos será exibida.
Projeto – Populando as tabelas
Para inserir dados nas tabela, abra a mesma no modo ‘folha’ através de um duplo clique ou através do botão ‘abrir’ da janela do banco de dados.
No exemplo anterior configuramos os campos ‘chave estrangeira’ com o valor 1 sem a preocupação da criação da referência ao campo chave primária.
Neste momento vamos fazer os seguinte testes: – Inserir mais funcionários porém tentando definir um setor
inexistente no campo SetCodigo, valor 0 (zero) por exemplo
– O mesmo raciocínio pode ser considerado com os dependentes, tentar cadastrar algum dependente sem um código de funcionário válido
– Tentar excluir um funcionário que tenha dependente relacionado
Características
Os bancos de dados possuem mecanismos que implementam maior confiabilidade no cadastro e recuperação das informações cadastradas.
Através do relacionamento, a integridade referencial permite realizar validações importantíssimas no contexto informacional.
A exclusão em cascata é um mecanismo disponível porém deve ser usado com muito critério, devido a sua extensão.
Consultas
Abrir o banco de dados Empresa
Selecionar o objeto “Consultas”
Clicar no menu Inserir | Consulta