UC –Projeto de Banco de Dados

Propaganda
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Roteiro 4 - Modelo Relacional (parte 2)
Objetivos:
o
o
o
Detalhar os conceitos sobre entidades e relacionamentos no modelo conceitual ER;
Detalhar as etapas da modelagem conceitual e física;
Executar o levantamento de requisitos para desenvolvimento da modelagem de bancos de dados;
Ferramentas necessárias
software Dia, software Workbench, Bibliografias de livros da faculdade.
Introdução
Este roteiro tem como objetivo explorar as propriedades da elaboração de modelagens para bancos de dados baseados no
esquema relacional. Serão incluídos conceitos complementares necessários à modelagem e representação visual de
elementos e um detalhamento sobre as propriedades de relacionamentos.
O modelo relacional representa o banco de dados como uma coleção de relações. Cada relação é semelhante a uma tabela
de valores, e cada linha representa uma coleção de valores de dados relacionados. Uma linha representa um fato que
normalmente corresponde a uma entidade ou relacionamento do mundo real. Os nomes da tabela e de coluna são usados para
ajudar a interpretar o significado dos valores em cada linha. De maneira formal, uma linha é chamada de tupla, um cabeçalho
é chamado de atributo e a tabela é chamada de relação. O tipo de dado que descreve os tipos de valores que podem
aparecer em uma coluna é representado por um domínio de valores possíveis.
Domínios: consiste em um conjunto de valores atômicos (indivisíveis). Alguns exemplos de domínios são:
•
•
Numeros_telefone_nacional: conjunto de números de telefone com dez dígitos válidos no Brasil;
Cadastro_pessoa_física: conjunto de números do CPF com onze dígitos.
Nos domínios um tipo de dado ou formato é especificado, no caso de números de telefone pode ser declarado como uma
sequência de caracteres na forma (dd)-dddd-dddd, onde cada d é um dígito numérico (decimal) e os dois primeiros
dígitos formam um código código de área de telefone válido. Pode-se concluir então que um domínio recebe um nome, tipo
de dado e formato.
Valores Atômicos: cada valor em uma tupla é um valor atômico (não pode ser decomposto), ele não é divisível em
componentes dentro da estrutura do modelo relacional básico. Não são permitidos atributos compostos ou multivalorados. Isto
leva a uma regra adotada em modelagem relacional chamada de 1ª forma normal, vista mais adiante.
Valores NULLS: são utilizados para representar valores que pode ser desconhecidos ou não se aplicam a uma tupla .Em
modelagens relacionais é evitado o uso de valores NULLS, devido a causarem problemas futuros em comparações com outros
valores. Ex: se duas entidades de pessoa possuírem endereço NULL não significa que possuem o mesmo endereço.
Para a elaboração de um projeto de banco de dados são necessárias algumas etapas:
•
Levantamento ou análise de requisitos: onde os projetistas entrevistam os usuários esperados para entenderem e
documentarem os requisitos de dados. Nesta etapa surgem duas necessidades também conhecidas da engenharia do
software: os requisitos de dados e os requisitos funcionais da aplicação. O resultado disso tudo é a criação da
modelagem conceitual.
•
Projeto Conceitual: consiste em uma descrição dos requisitos de dados dos usuários e inclui detalhes dos tipos de
entidade, relacionamentos e restrições, todos expressos utilizando conceitos da modelagem de alto nível. Como não
trata de detalhes de implementação, estes conceitos são mais fáceis de entender e podem ser utilizados para a
comunicação com usuários não técnicos.
P á g | 24
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Uma técnica tradicional e ainda muito utilizada para realizar projetos de banco de dados é concentrar nas estruturas e
restrições de banco de dados durante o seu projeto conceitual. A modelagem do modelo Entidade-Relacionamento (ER) é
um modelo de dados conceitual de alto nível e os seus conceitos são amplamente utilizados atualmente.
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
•
Projeto Lógico ou mapeamento do modelo de dados: consiste na real implementação do banco de dados
utilizando um SGBD comercial. Este mapeamento geralmente é automatizado ou semiautomatizado em ferramentas
de projeto de bancos de dados .
•
Projeto Físico: onde são detalhadas as estruturas de armazenamento internas, organizações de índices, caminhos
de acesso e parâmetros físicos do projeto para os arquivos do banco de dados. São projetadas e implementadas
operações como transações que obedecerão a especificações de transação de alto nível, ou seja, na descrição do
minimundo juntamente com os requisitos funcionais.
Entidades e atributos: Conceitos
O modelo ER descreve os dados como entidades, relacionamentos e atributos. Relembrando estes conceitos:
•
Atributo compostos versus simples (atômicos): Atributos compostos são atributos que podem ser divididos em
partes menores, representando atributos mais básicos, com significados independentes, Ex: logradouro: que pode ser
subdividido em Cidade, Estado e Cep. Atributos simples são atributos indivisíveis (atômicos), Ex: CPF de uma
pessoa. Atributos compostos podem ajudar em modelagens onde não é necessário especificar subcomponentes de
atributos.
•
Atributos de valor único versus multivalorados: Atributos de valor único são os que possuem apenas um único
valor para uma entidade em particular, Ex: idade. Atributos multivalorados podem assumir diversos valores em
determinadas situações, Ex: formação_academica.
•
Atributos armazenados versos derivados: em alguns casos, dois(ou mais) valores de atributos estão relacionados.
Como exemplo sejam os atributos idade e data_nascimento. Sabe-se que idade pode ser calculada através da data
atual e do valor da data de nascimento de uma pessoa, neste caso o atributo idade é considerado um atributo
derivado do atributo data_nascimento e data_nascimento é o atributo armazenado.
Figura 7 - Atributo composto
Entidade: consiste em algo no mundo real com uma existência independente, um objeto com uma existência física (pessoa,
carro, funcionário), ou um objeto com uma existência conceitual (empresa, cargo, curso).
Tipo de entidade: define uma coleção de entidades que têm os mesmos atributos. Cada tipo de entidade é descrito por
seu nome e atributos. A coleção de entidades de determinado tipo é agrupada em um conjunto de entidades, que é chamado
de extensão do tipo de entidade.
Atributos-chave ou chave: consiste em uma restrição de exclusividade sobre os atributos. São atributos cujos valores são
distintos para cada entidade individual no conjunto de entidades e são utilizados para identificar cada entidade de maneira
exclusiva. Na notação de diagramas ER cada atributo-chave tem seu nome sublinhado dentro da oval que representa um
atributo. Alguns tipos de entidade possuem mais de um atributo-chave, Ex: um campo registro, de um veículo.
P á g | 25
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Atributos: propriedades específicas que descrevem uma entidade. Ex: a entidade funcionário é descrita com os atributos
nome, idade, endereço, salário e cargo. Existem tipos de atributos envolvidos no modelo ER que ajudam a realizar a
modelagem:
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Figura 8 - atributo chave representado no diagrama ER
OBSERVAÇÃO: Um tipo de entidade pode não ter chave e, neste caso, é chamado de tipo de entidade fraca. Em notação
de diagrama não há o conceito de chave primária, se dois atributos forem sublinhados separadamente, então cada um é uma
chave por si só, observada de forma composta no diagrama.
Conceitos complementares sobre relacionamentos
Ex: um atributo gerente de uma entidade DEPARTAMENTO refere-se a um funcionário que gerencia o departamento; um
atributo departamento_gerenciador de uma entidade PROJETO refere-se ao departamento que controla o projeto; um
atributo supervisor de uma entidade FUNCIONARIO refere-se a outro funcionário (aquele que supervisiona esse
funcionário); o atributo departamento de FUNCIONARIO refere-se ao departamento para o qual o funcionário trabalha, e
assim por diante.
No modelo ER, essas referências não devem ser representadas como atributos, mas como relacionamentos. À medida que o
projeto é refinado estes atributos são convertidos em relacionamentos entre os tipos de entidades. Já foram detalhados que
relacionamentos utilizam nomes de função. Cada tipo de entidade que participa de um relacionamento desempenha nele uma
função em particular. O nome da função significa a função que uma entidade participante do tipo de entidade desempenha e é
sempre identificado com verbos como trabalha_para, por exemplo.
Restrições de relacionamentos: consistem em restrições que limitam as combinações de entidades que podem participar no
conjunto de relacionamentos correspondente. As restrições são determinadas com base na situação do minimundo e são
divididas em dois tipos: razão de cardinalidade e participação.
•
Razão de cardinalidade: especifica o número máximo de instâncias de relacionamento em que uma entidade pode
participar, e as razões de cardinalidade possíveis são 1:1, 1:N, N:1 e N:N.
•
Participação: especifica se uma entidade depende dela estar relacionada a outra entidade por meio do tipo de
relacionamento. Esta restrição especifica o número mínimo de instâncias de relacionamento em que cada entidade
pode participar, e é também conhecida como Cardinalidade Mínima. Existem os tipos de restrições de participação
total e parcial. Seja o exemplo com as entidades FUNCIONARIO e DEPARTAMENTO e os relacionamentos
TRABALHA_PARA e GERENCIA
™
Total: quando um atributo do relacionamento deve participar sempre do relacionamento, criando uma condição
de existência. Ex: um funcionário sempre trabalha para um departamento.
™
Parcial: quando um atributo do relacionamento nem sempre é esperado de participar em todas as instâncias do
relacionamento. Uma parte do conjunto de entidades está relacionada a outra. Ex: nem sempre um funcionário
deverá gerenciar um departamento.
P á g | 26
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Na modelagem conceitual é natural que alguns atributos de entidades sejam, na realidade, relacionamentos implícitos. Sempre
que um atributo de um tipo de entidade se refere a outro tipo de entidade, existe algum relacionamento.
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Nos diagramas ER, a participação total (ou dependência de existência) é exibida como uma linha dupla que conecta o tipo de
entidade participante ao relacionamento, enquanto a participação parcial é representada por uma linha simples. Como no
exemplo a seguir:
Figura 9 - Relacionamento com participação total de departamento
Figura 10 - Relacionamento com participação parcial
Nos relacionamentos é muito comum a geração de entidades que não possuem atributos-chave próprios, recebendo o nome
de tipo de entidade fraca. Entidades relacionadas a um tipo de entidade fraca são identificadas por estarem relacionadas a
entidades específicas de outro tipo em combinação com um de seus valores de atributo, recebendo o nome de tipo de
entidade de identificação ou proprietário (entidade pai ou dominante) e o relacionamento que relaciona um tipo de
entidade fraca ao seu proprietário de relacionamento de identificação do tipo de entidade fraca.
Por exemplo, considere o tipo de entidade DEPENDENTE, relacionado a EMPREGADO, que é usado para representar os
dependentes de cada empregado através do relacionamento 1:N.Os atributos de DEPENDENTE são Nome (apenas o primeiro
nome do dependente),DataNasc, Sexo e Relação com o empregado (esposa, marido, filho, sogra, etc.). Dois dependentes de
empregados distintos podem ter os mesmos valores para os atributos, mesmo assim eles ainda serão entidades distintas. Os
dependentes serão identificados como entidades distintas após a determinação da entidade empregado com a qual cada um
está relacionado.
OBSERVAÇÃO: um tipo de entidade fraca sempre tem uma restrição de participação total (dependência de existência) com
relação ao seu relacionamento de identificação por não poder ser identificada sem uma entidade proprietária. Em
diagramas ER, tanto um tipo de entidade fraca quanto seu relacionamento são identificados ao delimitar suas caixas de
losangos com linhas duplas.
P á g | 27
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Ex:
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Exemplo geral de modelagem ER Conceitual:
Figura 11 - modelagem de companhia: exemplo
Símbolo
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
A Tabela 1 apresenta asa principais figuras que representam os elementos em uma modelagem conceitual:
Significado
Entidade
Entidade fraca
Relacionamento
Relacionamento de
identificação
Atributo
Atributo-chave
Atributo multivalorado
Atributo composto
Atributo derivado
Participação total de E2 em R
P á g | 28
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Razão de cardinalidade 1: N
para E1: E2 em R
Tabela 1 - representação de elementos para modelagme conceitual
Tarefas:
1)
Defina os seguintes termos:
Conceito
Descrição
Valor de atributo
Instância de relacionamento
Atributo multivalorado
Atributo-chave
Valores atômicos
2)
O que é uma função de participação? Qual a importância do uso de nomes em relacionamentos?
3)
Dê 4 exemplos de atributos multivalorados;
4)
Realizar a elaboração da modelagem de um banco de dados considerando os temas sugeridos. As etapas de
elaboração devem seguir os seguintes passos:
a.
Definir uma dupla para o desenvolvimento das tarefas. Os nomes componentes da dupla deverão ser
registrados para avaliação do roteiro.
b.
Escolher um tema, disponível em http://192.168.200.3/andre/ads/proj_bd/2012-2/roteiros/roteiro-4-temas.txt
para ser explorado em um projeto de um banco de dados. Realizar o levantamento dos requisitos para as
operações realizadas para as operações efetuadas no tema escolhido.
c.
Desenvolver a modelagem conceitual no software dia, identificando as entidades participantes da
modelagem, os atributos que farão partes delas, detalhando quais serão os atributos-chave e em seguida
criar os relacionamentos entre as entidades. Nos relacionamentos detalhe os tipos de relação que irão
compor a modelagem (total ou parcial).
d.
Criar no Microsoft word a simulação dos armazenamentos dos dados nas tabelas que foram criadas.
e.
Desenvolver no workbench a modelagem física e efetuar a Forward engineer para a criação das tabelas no
mysql.
f.
No workbench acessar o painel de query database e criar o script .sql para a inserção e listagem de todos
os dados em todas as tabelas do banco criado.
Sugestões de temas:
Controle de Fabricação de sorvetes em Sorveteria;
Imobiliária: controle de aluguéis de imóveis;
Sistema acadêmico: gerenciamento de aulas e frequência;
Hospital: controle de dados de cirurgias em Pacientes;
Loja de Ferragem: controle de estoque;
Acadêmico: controle de aulas ministradas por professores;
P á g | 29
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Atributos derivados
UC –
Projeto de Banco de Dados
Docente: André Luiz Silva de Moraes
4º sem– Análise e Desenvolvimento de Sistemas
Supermercado: controle de escalas de horário de funcionários;
Administradora de Condomínio: controle de pagamentos de condomínio e pagamentos de funcionários do condomínio;
Venda de equipamentos de informática: tipos de equipamentos, nota fiscal de venda e clientes;
Fábrica de Bebidas: insumos para fabricação das bebidas, matéria-prima, equipamentos ;
Transportadora: controle de rotas percorridas por veículos;
Controle de Projetos de empresa de desenvolvimento;
Empresa de Pedágios: controle de pagamentos dos pedágios por veículos;
Fábrica de Veículos: controle de fabricação dos veículos, controle de peças;
Controle de Embarques de Aeroporto;
Controle de vendas de entradas de um teatro;
Vendas de carnes de um açougue;
Controle de Cemitério: controle de jazigos, cremação, aluguéis e jazigos perpétuos.
Controle Farmacêutico: Controle de venda de medicamentos, estoque de remédios, tipo de tarja de medicamentos.
Controle da CEASA: recebimento de frutas, tipos de frutas, empregados, caminhões e carregamentos.
Oficina Mecânica: controle de atendimentos a clientes e reparos em veículos;
Salão de Beleza: controle de cortes, estoque de produtos, controle de profissionais e de atendimentos;
Controle de Polícia: controle de suspeitos, crimes, investigadores e operações policiais.
Clínica Médica conveniada: controle de atendimento de profissionais, lista de espera de pacientes, funcionários.
Controle de eventos: tipos de eventos, controle de fotos, profissionais, locais e clientes.
Controle de vendas de Pneus: controle de atendimentos, marcas e detalhes das características dos pneus, pneus para
tipos de veículos diferentes;
•
Capítulo 7: Elmasri, Navathe – Sistemas de banco de dados 6ª Edição;
•
“Introdução a Banco de dados”, Osvaldo Kataro Tokai, disponível em http://pt.scribd.com/doc/50780287/BD;
•
Material disponibilizado em aula;
P á g | 30
Faculdade de Tecnologia SENAC PELOTAS - Credenciado pela Portaria nº. 3.071, de 01 de outubro de 2004.
Referências
Download