Sei sulla pagina 1di 44

Aula 02 Projeto de BD

Prof. Juliano

Projeto do Banco de Dados


1.caracterizar todos os dados necessrios na perspectiva do usurio Resultado: especificao das necessidades do usurio (anlise de requisitos) 2. transcrever as necessidades especificadas em esquema conceitual de BD. Resultado: projetoconceitual 3. transporte do modelo de dados abstrato para sua implementao: projeto lgico:o esquema conceitual de alto nvel mapeado para modelo de implementao de dados do SGBD que ser usado projeto fsico: dependente dos recursos do SGBD, cuida das formas de organizao de arquivos e estruturas internas de armazenamento. 2

Etapas para o projeto de um BD


Anlise de requisitos As etapas no consideram ainda nenhuma caracterstica especfica de um SGBD

Analista: Entrevista Necessidade do negcio


Modelagem de dados Definio: entidade, atributo, relacionamentos. Definio de tabelas ndices, Vises

Projeto Conceitual (DER)

Projeto Lgico

Projeto Fsico

Construo do BD Ling. SQL Dicionrio de dados


3

Anlise de requisitos

A anlise ou engenharia de requisitos o primeiro passo do processo de software. nesse ponto que uma declarao geral do escopo do software refinada para constituir uma especificao completa que se torna a base de todas as atividades de engenharia de software que se seguem. A anlise de requisitos fornece um mecanismo adequado para entender o que o cliente deseja, analisar as necessidades, negociar uma soluo razovel, especificar e validar a soluo.
4

Anlise de requisitos

Problemas em potencial que nos ajudam a compreender por que a anlise de requisitos difcil:

Problemas de escopo o limite do sistema mal definido ou o cliente especifica detalhes desnecessrios. Problemas de entendimento os clientes/usurios no esto completamente certos do que necessrio, tm dificuldade de comunicar as necessidades e omitem informao que acreditam ser bvia. Problemas de volatilidade os requisitos mudam ao longo do tempo.
5

Anlise de requisitos

Para ajudar a contornar esses problemas, os engenheiros (analistas) de sistemas devem abordar a atividade de anlise de requisitos de um modo organizado. Sommerville e Sawyer (1997) sugerem os seguintes passos:

Avalie a viabilidade tcnica e de negcios do sistema proposto; Identifique as pessoas que vo ajudar a especificar os requisitos; Defina o ambiente tcnico no qual o sistema vai ser colocado; Defina um ou mais mtodos para o levantamento dos requisitos (entrevistas, reunies de equipe, etc)
6

Parte III
Projeto Conceitual (Modelagem de Dados)

Projeto Conceitual

Pode ser considerada a fase de anlise dos dados (ou requisitos) capturados na etapa anterior. Nesta etapa realizada o que se chama de modelagem conceitual: so analisados os fatos (entidades) de interesse e seus relacionamentos, juntamente com seus atributos (propriedades ) e construda uma notao grfica (abstrata, uma representao de alto nvel) para facilitar o entendimento dos dados e suas relaes. A ferramenta mais empregada nesta etapa o Diagrama Entidade-Relacionamento (DER)
8

Os elementos da anlise estruturada (reviso)


DER DFD

Mostra as relaes entre os objetos de dados.

Mostra o fluxo de dados e as transformaes que so aplicadas medida que os dados se movem da entrada para a sada.

Exemplo - DFD
Livros detalhes de livros pedidos
Verificar validade do pedido

Editoras endereo
Preparar ordens de requisio p/ compra a editora

CLIENTES

EDITORAS

situao de crdito Clientes

pedidos vlidos

pedidos agrupados

Pedidos Pendentes

10

Exemplo - DER
Agencia codagencia enderecoagencia nomeagencia Clientes codcliente enderecocliente nomecliente Tipo codtipo nometipo

Conta codconta codcliente (FK)

Lancamento codlancamento codconta (FK) codtipo (FK) valor

Poupanca codconta (FK)

Corrente codconta (FK)

11

DER Diagrama Entidade-Relacionamento

O Diagrama Entidade-Relacionamento (DER) ou Modelo Entidade-Relacionamento (MER) foi definido por Peter Chen em 1976. Peter Chen formulou a proposta do modelo E-R, baseou-se na compreenso da realidade em que se situava o problema. Como iremos projetar um sistema se no entendemos o negcio para o qual ser realizado?

12

DER Diagrama Entidade-Relacionamento

Dez anos depois que Peter Chen inventou o DER, a modelagem estava se tornando amplamente utilizada; no entanto, surgiram muitas formas concorrentes, tais como:
MER estendido, proposto por Teorey (1986); Os europeus focaram-se no NIAM (Naturallanguage Information Analysis Method; Nos anos 90, o setor de sistemas de informao comeou a adotar duas grandes variaes: IDEF1X (Bruce, 1992) e os dialetos de engenharia da informao, normalmente conhecidos como diagramao p-de-galinha (Everest, 1986).

13

DER Diagrama Entidade-Relacionamento


Um DER uma representao grfica, na forma de um diagrama, onde so utilizados inicialmente apenas 3 conceitos:

Entidade Atributo Relacionamento

14

Entidade

Entidade uma coisa ou um objeto no mundo real que pode ser identificada de forma unvoca em relao a todos os outros objetos. A entidade pode ser concreta (pessoa, livro), ou pode ser abstrata (emprstimo, viajem de frias ou um conceito). Conjunto de entidades um conjunto de entidades de mesmo tipo que compartilham as mesmas propriedades: os atributos.

15

Atributos

Atributos = propriedades descritivas de cada ocorrncia de uma entidade ou relacionamento. Cada atributo possui um domnio (conjunto de valores possveis). Atributos possveis ao conjunto de entidades clientes: nome_cliente, cnpj, end_cliente.

16

Atributos

Um atributo pode ser caracterizado pelos seguintes tipos:


simples ou compostos monovalorados ou multivalorados nulos

Descrio: prxima pgina...


17

Atributos simples ou compostos


Atributo simples: no dividido em partes. Atributo composto pode ser dividido em partes (isto , outros atributos). Ex: nome_cliente pode ser estruturado em: prenome, nome-intermedirio e sobrenome.

18

Atributos mono ou multivalorados

O atributo num_emprestimo de uma entidade especfica refere-se apenas a um nmero de emprstimo. O atributo nmero do telefone pode assumir mais de um valor, como os nmeros de telefone de uma empresa.

19

Atributo nulo

Usado quando uma entidade no possui valor para determinado atributo. Ex: se um empregado em particular no possui dependentes, o valor do atributo nome_dependente para este dependente dever ser nulo, e isto significa que este atributo no aplicvel.

Nulo tambm pode significar que o valor do atributo desconhecido.


20

Representao grfica
Principais convenes:
Nome da entidade singular e nico. Nome da entidade em maisculo. Nomes dos atributos em minsculo. Cada Entidade deve ser identificada unicamente. Um atributo ou conjunto de atributos que identificam a unicidade da ocorrncia em uma Entidade chamado de Identificador nico (UID).

CLIENTE

21

Representao grfica
Mtodo: Cod_cli CLIENTE

Nome
End

Uma entidade CHEN

CLIENTE Cod_cli

Nome
End

Uma entidade IDEF1X

22

Relacionamentos

Representam associaes entre entidades. Em um DER, um relacionamento representado atravs de um losango, ligado por linhas aos retngulos representativos das entidades. Um relacionamento pode ter atributos.

No necessariamente um relacionamento associa entidades diferentes. Um auto-relacionamento demonstra um relacionamento entre ocorrncias de uma mesma entidade. Neste caso, existe o conceito de papel(funo) da entidade no relacionamento.
Exemplo de auto-relacionamento.

Exemplo de relacionamento.

23

Exemplos
Exemplo: Relacionamento

ENGENHEIRO

Atuao

PROJETO

24

Exemplos
Exemplo: Auto-relacionamento

PESSOA

marido
Casamento

esposa

25

Cardinalidade de relacionamentos

Uma propriedade importante de um relacionamento a de quantas ocorrncias de uma entidade podem estar associadas a uma determinada ocorrncia atravs do relacionamento. H duas cardinalidades a considerar: a cardinalidade mxima e a cardinalidade mnima. Classificao de relacionamentos binrios:
1:1 (um-para-um) 1:n (um-para-muitos) n:n (muitos-para-muitos)

26

Relacionamento 1:1

Neste grau de relacionamento, cada elemento de uma entidade relaciona-se com um e somente um elemento de outra entidade. Devemos ler o relacionamento nos dois sentidos em que ele se efetua. Logo lemos no caso da entidade Homem e da entidade Mulher, que um Homem est casado somente com uma Mulher e uma Mulher est casada com somente um Homem.
HOMEM 1 CASADO 1 MULHER

HOMEM

CASADO

MULHER
27

Resultado idntico: 1:1

Relacionamento 1:n

Um elemento da Entidade 1 relaciona-se com muitos elementos da Entidade 2, mas cada elemento da Entidade 2 somente pode estar relacionado a um elemento da Entidade 1. Devemos ter como regra geral,que um relacionamento do tipo Um-para-Muitos, quando um sentido de leitura dos fatos nos apresenta este grau de Um-para-Muitos e o sentido oposto apresenta obrigatoriamente o grau Umpara-Um.

EMPREGADO

LOTAO

DEPTO

28

Relacionamento n:n

Identifica-se esta cardinalidade pelo fato de que em ambos os sentidos de leitura encontramos um grau 1:n, o que caracteriza ser ento um contexto geral de n:n (Muitos-para-Muitos).
ENGENHEIRO N ALOCAO N PROJETO

MDICO

CONSULTA

PACIENTE
29

Cardinalidade de atributos

Um atributo pode assumir uma cardinalidade, de maneira anloga a uma entidade em um relacionamento. A cardinalidade de um atributo define quantos valores deste atributo podem estar associados a uma ocorrncia da entidade / relacionamento a qual ele pertence. No caso da cardinalidade ser (1,1) ela pode ser omitida do diagrama.
30

Cardinalidade de atributos

Assim, o exemplo abaixo expressa que nome e cdigo so atributos obrigatrios (cardinalidade mnima 1 cada entidade possui no mnimo um valor associado) e monovalorados (cardinalidade mxima 1 cada entidade possui no mximo um valor associado). J o atributo telefone, um atributo opcional (cardinalidade mnima 0) e multivalorado (cardinalidade mxima n).
Cod_cli CLIENTE Telefone (0,n) Nome
31

Atributos de relacionamento

Assim como entidades, relacionamentos tambm podem possuir atributos. A figura abaixo, expressa um DER no qual um relacionamento, Atuao, possui um atributo, a funo que um engenheiro exerce dentro de um projeto.
Um engenheiro pode atuar em diversos projetos, exercendo diferentes funes. Em um projeto, podem atuar diversos engenheiros com funes diferentes.
ENGENHEIRO N ATUAO N PROJETO

Funo
32

Entidade Fraca

Em geral, uma entidade possui um nico atributo como identificador. Em alguns casos, o identificador de uma entidade composto por diversos atributos.
Codigo PESSOA Num_corredor PRATELEIRA

Nome Endereo

Num_prateleira Capacidade

33

Entidade Fraca

Finalmente, h casos em que o identificador de uma entidade composto no somente por atributos da prpria entidade, mas tambm por relacionamentos dos quais a entidade participa.

Cd_emp

nome

Num_seq. nome
(1,1) (0,n) DEPENDENTE

EMPREGADO

Resp.

Id = cod_emp + num_seq.
34

Entidade Fraca

Neste caso, a entidade DEPENDENTE considerada uma entidade fraca, pois a entidade somente pode existir quando relacionada a outra entidade e de usar como parte de seu identificador, entidades relacionadas.

35

Especializao / Generalizao

O conceito de especializao permite atribuir propriedades particulares a um subconjunto das ocorrncias (especializadas) de uma entidade genrica. No DER, o smbolo para representar especializao um tringulo. A especializao mostra que a entidade cliente dividida em dois subconjuntos, as entidades pessoa fsica e pessoa jurdica, cada uma com propriedades prprias. Associada ao conceito de especializao est a idia de herana de propriedades. Herdar propriedades significa que cada ocorrncia da entidade especializada possui, alm de suas prprias propriedades, tambm as propriedades da ocorrncia da entidade genrica correspondente.

36

Especializao / Generalizao
(1,1) FILIAL Fil-Cli (0,n) CLIENTE

cdigo nome

PESSOA FSICA

PESSOA JURDICA

cpf

cnpj

37

Especializao / Generalizao

A especializao pode ser classificada em dois tipos, total ou parcial, de acordo com a obrigatoriedade ou no de a cada ocorrncia da entidade genrica corresponder uma ocorrncia da entidade especializada.
Indica que cliente PF ou PJ Indica que nem todo EMP motorista ou secretria

CLIENTE

EMPREGADO

PESSOA FSICA

PESSOA JURDICA

MOTORISTA

SECRETRIA

38

Relacionamento Ternrio

Todos os exemplos at aqui mostrados so de relacionamentos binrios. A abordagem ER permite que sejam definidos relacionamentos de grau maior que dois. O exemplo abaixo mostra um relacionamento ternrio.
ALUNO

DISCIPLINA

1
PROFESSOR

Descrio: prxima pgina...

39

Relacionamento Ternrio

No caso de relacionamento ternrio, a cardinalidade refere-se a pares de entidades.

Separar a entidade ALUNO e analisar o par PROFESSOR / DISCIPLINA. Para cada par PROFESSOR / DISCIPLINA podemos ter de 1 at N alunos relacionados; Separar a entidade PROFESSOR e analisar o par ALUNO / DISCIPLINA. Para cada par ALUNO / DISCIPLINA podemos ter 1 e somente 1 PROFESSOR relacionado; Separar a entidade DISCIPLINA e analisar o par PROFESSOR / ALUNO. Para cada par PROFESSOR / ALUNO podemos ter de 1 at N DISCIPLINAS relacionadas.
40

Modelos equivalentes
MDICO

CONSULTA

PACIENTE

MDICO 1

PACIENTE

N
CONSULTA

41

Variantes da abordagem ER

Atualmente observa-se uma variedade de representaes grficas que levam o ttulo de ER. A notao mais utilizada a do tipo Chen pois, com algumas extenses segue a notao proposta por Peter Chen em seu primeiro artigo. Alm desta notao duas famlias de notaes tm importncia:
Engenharia da Informao (diagramao p-de-linha) IDEF1X (Integration DEFinition for Information Modeling).

42

Notao Engenharia da Informao


DEPTO

(1,1)

LOTAO

(0,N)

EMPREGADO

DEPTO

Tem lotado Est lotado em

EMPREGADO

43

Notao IDEF1X
DEPTO 1 LOTAO N EMPREGADO

CLIENTE Cod_cli

RAMO_ATIV. Codigo Descrio

Nome
End

44

Potrebbero piacerti anche