Anda di halaman 1dari 5

Qual o impacto em um

projeto de banco de
Padronização e dados de:
Sistematização do Processo • Um bom levantamento de dados, adequada
de Desenvolvimento de definição de requisitos e regras de negócios?
• Uma adequada identificação dos objetos a
Projetos de Banco de Dados modelar?
• Não propagação de êrros para fases
José Ferreira Prata posteriores do projeto?

O que pode atrapalhar É possível?


um bom projeto?
• Prazos escassos ? • Padronizar e sistematizar o desenvolvimento
do modelo conceitual?

• Deficiência de formação dos projetistas?


• Utilizar a própria lingua falada para identificar
entidades e relacionamentos?
• Clientes que não sabem o que precisam?

• É possivel sistematizar a descoberta das


• Falta de métodos adequados ? cardinalidades?

Boas práticas iniciais Boas práticas iniciais


resultam em bons resultam em bons
projetos finais! projetos finais!

• Temos formulário e roteiro padrão para


levantamento de dados, entrevistas, Utilizamos •É feito um mapeamento dos requisitos validados
técnicas de J.A.D., etc.? em relação aos levantamentos efetuados?

•São feitos cruzamentos de informações entre os


• Os documentos são atualizados conforme
evoluem os levantamentos? diversos níveis operacionais e gerenciais?

1
Processo Padrão Processo Padrão

Temos um Processo Padrão com Podemos Sistematizar e


práticas claramente definidas para cada simplificar o Projeto de
etapa do projeto ou cada Profissional Banco de Dados?
usa seu talento e método?

10 passos Os 10 passos-continuação
1

• Identificar todos os substantivos que • Descartar substantivos que se transformados


designem objetos em entidade teríam apenas um atributo
• Descartar substantivos que como entidade • Listar os substantivos que se tornarão
teriam apenas uma ocorrência entidades
• Descartar substantivos que servem • Identificar relacionamentos físicos e definir
apenas para entendimento do problema seus tipos
• Descartar objetos que são apenas • Estabelecer o grau de relacionamento entre as
referência a uma aplicação futura. entidades

Os 10 passos-continuação Mapear do modelo


2 conceitual para o modelo
relacional
– Criar uma relação para cada entidade Forte
• Estabelecer a cardinalidade do incluindo todos os atributos necessários.
relacionamento – Criar uma relação para cada entidade Fraca
incluindo todos os atributos necessários além
de todas as chaves primárias das entidades
• Identificar os atributos de cada entidade fortes com as quais têm relação que nela
passarão a ser chamadas de chaves
estrangeiras.

2
Mapear Conceitual para Mapear conceitual para
Relacional Relacional

– Para cada relacionamento binário 1:1, escolher – Para cada atributo multivalorado crie uma nova
uma das relações para receber a chave primária da relação cujo relacionamento será 1:M com a
outra entidade como chave estrangeira. entidade forte e aplique a regra de migração da
chave estrangeira.
– Criar uma nova relação para cada relacionamento
– Observe se existem relacionamentos ternários e
binário M:N e incluir nessa nova relação as chaves
crie uma nova relação para receber as chaves
primárias das entidades fortes como chaves primárias das entidades fortes como chaves
estrangeiras. Eventualmente essas chaves estrangeiras.
estrangeiras podem se tornar uma chave primária – Caso seja utilizado o modelo ERE ( Entidade-
composta. Relacionamento Estendido ) aplique os conceitos
de generalização, especialização, etc.

Mapear conceitual para Uso de Ferramentas


Relacional Case

• O uso intensivo de ferramentas Case para


• Repassar relações ou agrupamentos pelo elaborar o modelo conceitual aliado as
menos pelas três primeiras formas normais práticas já descritas sem dúvida propiciará
sistematização e documentação
• Implementar do modelo físico. adequada, além de todas as facilidades
tipicas de cada ferramenta.

Sistematizando Exemplo

Uma escola deseja disponibilizar em uma intranet as notas de seus alunos por matéria
e por bimestre, sendo que um semestre sempre terá duas notas bimestrais e a média
final do semestre será calculada pelo sistema. Na página, o aluno poderá visualizar o
código da matéria, a descrição da matéria, bimestre, nota e no final do semestre a
• Exemplo de aplicação dos 10 passos respectiva média final. Também poderá consultar quais matérias cursa no semestre, e
podem ser encontrados na edição 16 mês respectivos professores. O professor pode visualizar quais matérias leciona em cada
curso e lançar as notas de cada aluno. A escola também deseja extrair relatórios ou
de Janeiro e edição 18 mês de Março da pesquisas sobre as matérias que o aluno cursa e vice-versa e ainda quais professores
lecionam que matéria e vice-versa. Para que não haja confusão entre matérias com
SQL Magazine mesmo nome, mas em cursos e conteúdos diferentes, e ainda considerando que podem
existir várias turmas do mesmo curso no mesmo semestre, todas as matérias possuirão
um código próprio que a distinguirá por curso e por turma. Assim matemática I da turma
A do curso de Administração terá um código de matéria diferente de matemática I do
mesmo curso de Administração da turma B. Será diferente também da matemática I de
qualquer outro curso. Desta forma cada código de matéria terá somente um professor
responsável.

3
1 - Descartando substantivos que se transformados em entidade teriam apenas 5 - Descartando substantivos que se transformados em entidade teriam apenas
um atributo um atributo
Resultado: bimestre,código da matéria, descrição da matéria. Resultado: bimestre,código da matéria, descrição da matéria.

2 - Listando os substantivos que se tornarão entidades 6- Listando os substantivos que se tornarão entidades
Resultado: curso, aluno, matéria, nota, professor. Resultado: curso, aluno, matéria, nota, professor.

3 - Descartando substantivos que servem apenas para entendimento do problema 7 - Identificando os relacionamentos físicos e definindo seus tipos, através de
Resultado: intranet, semestre, sistema, matemática I, administração. verbos ou preposições que demonstrem relações de dependência ou existência
entre as entidades
4 - Descartando objetos que são referência a uma futura aplicação Resultado: aluno possui nota, matéria tem nota, aluno cursa matéria, professor
Resultado: média final do semestre, relatório, página, pesquisa. leciona matéria, matéria pertence curso.

8 - Estabelecendo o grau de relacionamento entre as entidades

Desenho do modelo conceitual


demonstrando os respectivos
relacionamentos entre as Entidades

9) Estabelecendo a razão da cardinalidade do relacionamento entre as entidades


Resultado:
1 Nota PERTENCE a apenas 1 Aluno
Turma Curso
tem 1 Aluno POSSUI Muitas Notas
Então: 1 Aluno – Muitas Notas
1 Aluno CURSA Muitas Matérias
ligada pertence
1 Matéria É CURSADA POR Muitos Alunos
Então: Muitos Alunos – Muitas Matérias
Aluno
cursa
Matéria leciona 1 Matéria TEM Muitas Notas
1 Nota PERTENCE A 1 Matéria
Então: 1 Matéria – Muitas Notas
1 Professor LECIONA Muitas Matérias
Nota Professor 1 Matéria É LECIONADA POR APENAS 1 Professor
possui tem
Então: 1 Professor – Muitas Matérias
1 Turma TEM LIGADAS Muitas Matérias
1 Matéria É LIGADA A MUITAS Turmas
Então: Muitas Turmas – Muitas Matérias

Desenho do modelo conceitual


incorporando a cardinalidade do
relacionamento entre as
entidades.
10) Identificando os atributos de cada entidade Resultado:
Aluno = registro_aluno, nome_aluno, endereço_aluno
Turma Curso Matéria = código_matéria, nome_matéria
tem
Nota = bimestre, nota_aluno_matéria
M 1
M 1 Professor = registro_professor, nome_professor
ligada pertence Curso = código_curso, nome_curso
M M
Turma = código_turma, nome_turma
N M M
Aluno Matéria leciona
cursa
Vale notar que a entidade Nota é denominada fraca em relação as entidades fortes
1 1 1 1 Matéria e Aluno, pois não possui chave primária própria e por isso dependerá das
chaves primárias das entidades fortes para compor a individualidade de cada linha
Nota Professor quando se tornar uma tabela.
possui tem
M M

4
Modelo Conceitual contendo os Relações resultantes do
atributos de cada entidade. mapeamento
Conceitual_Relacional
codigo_turma nome_turma

Turma M
• Turma(codigo_turma,nome_turma,codigo_curso)
M pertence codigo_curso • Matéria( codigo_materia, nome_materia, registro_professor,
ligada
1 nome_curso codigo_curso)
M
endereço_aluno
codigo_materia

nome_matéria
• Turma_Matéria(codigo_turma, codigo_materia)
nome_aluno Curso
registro_aluno

1
• Aluno(registro_aluno, nome_aluno, endereço_aluno)
N M M
Aluno cursa Matéria pertence
• Nota(código_materia, registro_aluno, bimestre,
1 1
1
M 1
leciona nota_aluno_materia)
possui
M
Nota
M
tem
Professor
1 • Curso( codigo_curso, nome_curso )
nota_aluno_matéria • Professor( registro_professor, nome_professor)
registro_Professor
bimestre
nome_Professor

Sistematizar e Padronizar gera


amadurecimento, produtividade e
qualidade
Porém FIM
Uma trilha não deve ser
confundida com um trilho

Turma
Codigo_turma #
Nome_turma 0..*
Codigo_Curso $

0..*
1..1
Turma_Matéria
Curso
Código_turma
Codigo_curso #
Código_materia
Nome_curso

1..*
1..1

Matéria
Aluno 0..* 1..* Código_materia #
Registro_aluno Nome_materia
Nome_aluno 1..*
Registro_professor $
Endereço_aluno Código_curso $

0..*

1..1
Nota
Bimestre Professor
Nota_aluno_materia Registro_professor
Registro_aluno $ Nome_professor
Código_materia $

Anda mungkin juga menyukai