Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem...

28
Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento

Transcript of Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem...

Page 1: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento

Page 2: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Banco de Dados Dados x Informações SGBDs SQL

Page 3: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Ciclo de Vida de um Sistema de Informações Ciclo de Vida de Um Banco de Dados Modelos de Banco de Dados Projeto de Banco de Dados Modelo Entidade-Relacionamento Exemplos de Modelagem Entidade-

Relacionamento

Page 4: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Para que um banco de dados seja implementado no contexto de uma organização ele deve ser feito de acordo com as necessidades especificadas.

O projeto de um banco de dados é algo obrigatório no seu processo de desenvolvimento, porém o banco de dados consiste apenas no repositório de dados de uma organização.

Em geral os banco de dados fazem parte de algo muito maior a que se dá o nome de Sistemas de Informação.

Page 5: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Um Sistemas de Informação é constituído por todos os que participam do tratamento da informação.

Podemos reunir os componentes de um sistema de Informações nos seguintes grupos: Pessoas

Hardware

Software: Banco de dados e Aplicações Informatizadas

Procedimentos(administrativos,locais, etc) Assim como nascemos, vivemos e morremos os

Sistemas de Informação possuem um ciclo de vida que em geral são compostos fases.

Page 6: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

O ciclo de vida de um sistema de informação consiste em um conjunto de fases necessárias ao desenvolvimento de um sistema de informações.

As fases de um ciclo de vida de um sistema de informação podem ser classificados em 5: Planejamento Análise Projeto Implementação Manutenção

Page 7: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Planejamento: Busca-se estabelecer uma visão geral do que se

pretende fazer .

É nesta fase que se determinam os objetivos e se realiza um estudo inicial sobre a viabilidade de todo o sistema

Análise: Fase que permite documentar as necessidades

apresentadas pelos usuários e na qual se faz o projeto lógico do sistema

Page 8: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Projeto: Nesta fase aumenta o nível de detalhe do projeto do

sistema, incluindo telas, sistema de menus, layout dos relatórios, ligação a periféricos, especificação e ajuste das regras de negócios.

Implementação: Fase em que é feita a instalação do SGBD, criação de

tabelas e programação das aplicações. Manutenção:

Fase para correção de erros e melhoria de alguns dos aspectos já implementados, além da adição de novas funcionalidades.

Page 9: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Um modelo de banco de dados é um modelo lógico de representação dos dados. Em um modelo, não temos que nos preocupar com questões de implementação física, formato dos dados, etc.

No mundo real, existe todo tipo de modelos: Modelos Econômicos Modelos Estatísticos Simuladores de Vôo Planta de uma casa Mapa de estradas

Page 10: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Assim como existem modelos para o mundo real, também existem modelos específicos para a representação de dados ou da estrutura de dados em um banco de dados. O mais famoso e utilizado é o Modelo Relacional.

Como a maior parte dos sistemas de gerência de banco de dados atuais, baseia-se no modelo relacional. Devido a isso, esses sistemas são chamados de sistemas de gerência de banco de dados relacional(SGBDR)

Page 11: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Durante a fase de Análise que acontece antes da implementação do Banco de Dados, é comum a utilização de uma representação gráfica das entidades envolvidas e como elas se relacionam.

Esse modelo é bastante popular e freqüentemente utilizado para o projeto conceitual dos dados, que posteriormente servirá de base para o projeto físico(modelo relacional).

O modelo Entidade-Relacionamento é baseado em símbolos gráficos que representam as Entidades e seus atributos, e os relacionamentos entre as entidades.

Devido à sua simplicidade, tornou-se um recurso quase que obrigatório no projeto de banco de dados relacionais.

Page 12: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

A estrutura lógica global de uma base de dados pode ser expressa graficamente por um diagrama chamado entidade-relacionamento, que consiste nos seguintes componentes:

Entidades

Atributos

Relacionamentos

Page 13: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

O Conceito fundamental da abordagem ER é a Entidade Uma Entidade é um conjunto de objetos sobre os quais se

deseja manter informações no banco de dados. Em geral, utiliza-se um substantivo no singular para

identificá-lo: Aluno, Curso, Departamento, etc, e cada entidade deve representar uma única “coisa”.

No MER(modelo entidade-relacionamento), as entidades são representadas por retângulos dentro dos quais deve ser colocado o nome da entidade.

Curso

Disciplina

Aluno

Page 14: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Os atributos são propriedades que descrevem cada membro de um conjunto de entidades.

Exemplos: Entidade: Livro

▪ Atributos: título, autor, editora, ano, ISBN, etc.

Entidade: Autor▪ Atributos: nome, data de nascimento, nacionalidade, gênero, etc.

Entidade: Carro▪ Atributos: ano, cor, modelo, marca, etc.

Os Atributos são representados por um círculo e ligados a uma entidade.

Aluno Matr.

Nome

Data Nasc.

Page 15: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Os atributos podem ser classificados em: Simples: Valores que não são divisíveis. Chamados

também de atômicos. Ex.: CPF Composto: Podem ser divididos em partes menores que

representam outros atributos básicos com significados diferentes.

CPF Ender.

Lograd Bairro Cidade

Page 16: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Mono valorados: Possui um único valor.Ex.: CNPJ da entidade Fornecedor

Multivalorados: tem um conjunto de valores para a mesma entidade.Ex.: Telefone da entidade Fornecedor, Edições de um livro, Cores de um carro;

Armazenados: atributos comuns desenhados no modelo E-R. Ex.: Data de nascimento

Derivados: não são armazenados no banco de dados, são calculados quando necessários e representados por linha

tracejada. Ex.: IdadeCPF

Page 17: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

O atributo identificador ou chave primária(no projeto física – modelo relacional) representa um código único que identifica uma entidade. Exemplo: Em um cadastro de Fornecedor, o atributo CNPJ identifica um fornecedor específico de uma entidade Fornecedor.

Representação: Fornecedor

CNPJ

RAZÃO

SOCIAL

Page 18: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

O valor de um atributo que é chave não pode se repetir dentro do conjunto de todas as instâncias da entidade, sendo assim, conhecido o valor da chave, consegue-se identificar de maneira única a instância.

Uma chave composta é formada pela combinação de vários atributos. Um tipo de entidade pode possuir uma chave simples, ou uma chave composta.

Page 19: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Exemplos de Atributos Identificadores

Alunos

MATR.

Alunos

RG MATR.

Page 20: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Devido a questão de estética os atributos são apresentados também como uma lista sequencial, indicando o atributo identificador(chave primária) em sublinhado ou em negrito.

Exemplo: Fornecedor(CNPJ, Razão Social, Nome

Fantasia, Logradouro, Bairro, ...)

Page 21: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

É através dos relacionamentos que conseguimos ligar a informação presente em entidades de alguma forma relacionadas.

Um relacionamento corresponde a uma ligação lógica entre entidades indicando a forma como as duas entidades se relacionam.

É através dos relacionamentos que os SGBDR permite realizar por exemplo as seguintes buscas: Quem é chefe de quem? Que funcionários pertencem a que departamentos? Que funcionários estão envolvidos em mais de um

projeto? Quas as faturas associdas a que fornecedores.

Page 22: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Os relacionamentos entre as entidades são representados por uma linha que une as duas entidades.

O nome do relacionamento é em geral apresentado como um tempo verbal, uma vez que simboliza a “ação” estabelecida entre as entidades envolvidas.

Alunos DisciplinaFreqüenta

Page 23: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Existe uma outra representação alternativa e que em geral é a mais utilizada, na qual o relacionamento entre as entidades é expresso através de um losango dentro da qual é colocado o nome do relacionamento.

Alunos DisciplinaFreqüenta

Page 24: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Construa um MER para uma companhia de seguros de automóveis. A companhia possui um conjunto de clientes, onde

cada um possui um certo número de carros. Os dados do cliente são nome, RG, CPF, endereço e telefone.

Do carro deve-se armazenar a placa, código Renavan, fabricante, modelo, e ano.

Associado a cada carro há um histórico de ocorrências. Um carro podem possuir várias ocorrências ou nenhuma. Cada ocorrência deve ter uma data, local e descrição.

Page 25: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Desenhe o MER com todos os atributos que considere necessários para uma loja com a seguinte descrição: A loja vende produtos dos mais variados tipos, que

são identificados por um código único Cada produto possui uma descrição, preço de custo,

preço de venda, quantidade em estoque Cada produto é comprado por um cliente. Os clientes da loja possuem um cadastro que

identificam na hora da venda. Os funcionários da loja também são cadastrados no

sistema.

Page 26: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Fazer um MER para um sistema Acadêmico que possui as seguintes características: Cadastro de Alunos (nro de matricula, nome, endereço, dta

nascimento, etc).

Cadastro de Cursos (código, nome, duração, área, coordenador, mensalidade, etc).

Cadastro de Professores (código, nome, área, titulação, etc). Os professores ministram disciplinas.

Cadastro de Disciplinas (código, nome, carga horária, tipo, etc).

Os alunos cursam um Curso que é formado por várias disciplinas.

Page 27: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Construa um MER para controle do prontuário de pacientes de um hospital que possui as seguintes características O hospital possui um conjunto de pacientes e um conjunto de

médicos. No registro dos pacientes, temos o nome, RG, CPF, endereço e telefone.

No registro dos médicos temos o nome, especialidade, RG, CPF, CRM, endereço e telefone.

Cada paciente tem associado a si um prontuário (sua ficha), onde são registradas basicamente todas ocorrências, exames, consultas, medicamentos ministrados associadas a ele.

Cada registro no seu prontuário, além de ter a data tem que estar relacionado a um médico, que é o responsável pela informação do registro cadastrado no sistema.

Page 28: Aula 02: Modelagem de Dados / Modelo Entidade-Relacionamento · Exemplos de Modelagem Entidade-Relacionamento ... implementação do Banco de Dados, é comum a utilização de uma

Classificação dos Relacionamentos:

Grau

Obrigatoriedade

Cardinalidade

Exercícios de Modelagem Entidade-Relacionamento