34
Banco de Dados Relacionais Eduardo Ribeiro Felipe [email protected]

Banco de Dados Relacionais · –Modelo de Dados (DER) ... Todo (software de) banco de dados (relacional) possui elementos básicos de organização da informação, a saber: –Tabelas

Embed Size (px)

Citation preview

Banco de Dados Relacionais

Eduardo Ribeiro Felipe

[email protected]

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.

Modelo conceitual

Projeto físico Modelo lógico

Mundo real

Por que modelar?

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)

• Interface: Formulários (janelas) e Relatórios

•Consultas

•Tabelas

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

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.

Projeto – Populando as tabelas

Repita o mesmo procedimento para as demais tabelas

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

Sinônimo de pesquisa

Consultas

Abrir o banco de dados Empresa

Selecionar o objeto “Consultas”

Clicar no menu Inserir | Consulta

Consultas

Confirmar o modo Design

Selecionar a tabela Funcionarios e Adicionar

Consultas

Formulários

Relatórios