4- projeto de banco de dados - ailtonsousa.com.br · banco de dados profa. avanilde kemczinski dra....

23
Banco de Dados Profa. Avanilde Kemczinski Dra. [email protected] 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4 - Empregar a técnica da modelagem de dados no projeto de banco de dados. OBJETIVOS OPERACIONAIS Ao final desta unidade o aluno será capaz de: 4.1 - Definir modelagem de dados 4.2 - Definir classe de dados 4 3 - Definir relacionamento 4.4 - Classificar relacionamento quanto ao grau e a obrigatoriedade 4 5 - Definir modelo de dados 4 6 - Definir as etapas da análise de dados top-down 4.7 - Definir as necessidades de dados a partir de classe de dados identificadas na análise top-down. 4 8 - Definir normalização 4 9 - Definir primeira forma normal 4.10 - Normalizar classe de dados obtendo a primeira forma normal 4.11 - Definir segunda forma normal 4.12 - Normalizar classe de dados obtendo a segunda forma normal 4.13 - Definir a terceira forma normal 4.14 - Definir entidade 4.15 - Normalizar classe de dados obtendo a terceira forma normal 4.16 - Aplicar a técnica de descrição de entidades 4.17 - Aplicar a técnica da matriz de associação para identificar relacionamentos existentes entre entidades. 4.18 - Aplicar a técnica de descrição de relacionamentos. 4.19 - Elaborar diagrama entidade relacionamento. Página: 1

Upload: trinhcong

Post on 08-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4- PROJETO DE BANCO DE DADOS

OBJETIVOS DE ENSINO:

4 - Empregar a técnica da modelagem de dados no projeto de banco de dados.

OBJETIVOS OPERACIONAIS

Ao final desta unidade o aluno será capaz de:

4.1 - Definir modelagem de dados4.2 - Definir classe de dados4 3 - Definir relacionamento4.4 - Classificar relacionamento quanto ao grau e a obrigatoriedade4 5 - Definir modelo de dados4 6 - Definir as etapas da análise de dados top-down4.7 - Definir as necessidades de dados a partir de classe de dados identificadas na análise

top-down.4 8 - Definir normalização4 9 - Definir primeira forma normal4.10 - Normalizar classe de dados obtendo a primeira forma normal4.11 - Definir segunda forma normal4.12 - Normalizar classe de dados obtendo a segunda forma normal4.13 - Definir a terceira forma normal4.14 - Definir entidade4.15 - Normalizar classe de dados obtendo a terceira forma normal4.16 - Aplicar a técnica de descrição de entidades4.17 - Aplicar a técnica da matriz de associação para identificar relacionamentos existentes

entre entidades.4.18 - Aplicar a técnica de descrição de relacionamentos.4.19 - Elaborar diagrama entidade relacionamento.

Página: 1

Page 2: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4.1 - INTRODUÇÃO

Modelagem de Dados É uma técnica formal para análise dos dados, que os agrupa de forma a facilitar o entendimento das atividades realizadas pela empresa. A modelagem é fundamentalmente uma técnica que visa facilitar a comunicação entre usuário e analista.

4.2 - CONCEITOS BÁSICOS

Classe de Dados É qualquer objeto, concreto ou abstrato, a respeito do qual haja necessidade de armazenamento de dados.

Ex.: ALUNO FUNCIONÁRIO PRODUTO

ALUNO

Dados São características de um objeto. que se deseja armazenar para posteriormente manipulá-las.

Ex: NOME DO FUNCIONÁRIO DATA EMISSÃO NOTA FISCAL

Entidade É qualquer objeto, concreto ou abstrato, onde já foram especificados os dados que são de interesse para armazenamento.

Ex.: ALUNO FUNCIONARIO PRODUTO

ALUNO

Página: 2

Page 3: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Ocorrência É o conjunto dos dados que caracterizam especificamente um determinado objeto.

NOME DO ALUNO IDADE DO ALUNOJoão da SilvaMaria Lins

1828

Ocorrências

Dado Real É o dado que não necessita de outro para caracterizar seu significado.

Ex. NOME DO ALUNO

Dado Derivado É o dado resultante de uma ou mais operações de cálculo, executadas em outros dados.

EX.: MÉDIA ANUAL ALUNO = (MÉDIA PRIMEIRO BIMESTRE + MÉDIA SEGUNDO BIMESTRE + MÉDIA TERCEIRO BIMESTRE + MÉDIA QUARTO BIMESTRE) /4

Dado Agregado É um agrupamento de dados, onde algum de seus componentes não tem sentido isoladamente.

Ex.: DATA NASCIMENTO FUNCIONÁRIO pode ser considerado corno um agregado de DIA, MÊS e ANO.

Chave É um dado utilizado no acesso a uma entidade.

Chave Candidata È todo dado para o qual não haverá mais de uma ocorrência da entidade, em que o mesmo valor apareça.

Chave Primária É a chave candidata escolhida para identificar as diferentes ocorrências da entidade.

Página: 3

Page 4: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Chave Alternativa É toda chave candidata mão escolhida como primária.

Chave Secundária Qualquer dado, exceto a chave primária, utilizado para selecionar ocorrências de uma entidade.

Ex.: Para ALUNO podemos ter os dados:

NÚMERO MATRICULA ALUNONOME ALUNONÚMERO CARTEIRA IDENTIDADE ALUNOCURSO ALUNO

Dentre estes dados teremos:

CHAVES CANDIDATAS: NÚMERO MATRICULA ALUNO. NUMERO CARTEIRA IDENTIDADE ALUNO

CHAVE PRIMÁRIA: NUMERO MATRICULA ALUNOCHAVE ALTERNATIVA: NÚMERO CARTEIRA IDENTIDADECHAVE SECUNDÁRIA: NOME ALUNO

CURSO ALUNO

OBS.: É aconselhável que a chave primária seja um dado sobre o qual a organização tenha domínio, pois qualquer alteração neste campo (formato ou tamanho) acarretará alterações em diversos programas de aplicação.

A representação gráfica dos dados será:

NUMERO MATRÍCULA ALUNO

NOME ALUNO NÚMERO CARTEIRA IDENTIDADE ALUNO CURSO ALUNO DISCIPLINA ALUNO

Onde: Sublinhado: Indica o dado que é chave primária do agrupamento.

Indica que a partir de uma ocorrência da chave existirá apenas uma ocorrência do dada

Indica que a partir de uma ocorrência da chave, pode existir mais de uma ocorrência do dado (item repetitivo).

Página: 4

Page 5: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Relacionamento São associações que ligam entidades de uma forma definida e são de importância para a empresa.

Ex.: ALUNO ESTÁ MATRICULADO TURMA TURMA TËM MATRICULADO ALUNO

ESTÁ MATRICULADO

TÊM MATRICULADO

Mapeamento, Cardinalidade ou Grau de Relacionamento É a propriedade que diz, para cada entidade de um relacionamento, quantas ocorrências de uma delas podem ou devem estar associadas a uma ocorrência da outra, e vice-versa.

Representação gráfica: um para um (1:1) um para vários (1:N) vários para vários (N:N)

ESTÁ MATRICULADO

TÊM MATRICULADO

Lê-se: 1 turma têm matriculado N alunos 1 aluno está matriculado 1 turma

Página: 5

TURMA ALUNO

TURMA ALUNO

Page 6: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Obrigatoriedade É a propriedade que diz, para cada entidade que participa de um relacionamento, quando da existência de uma ocorrência de uma delas se é requerida a existência de pelo menos uma ocorrência da outra, e vice-versa.

Representação Gráfica: A B A é obrigatório e B opcional

A B A é obrigatório e B obrigatório

A B A é opcional e B opcional

ESTÁ MATRICULADO

TÊM MATRICULADO

Lê-se:para a existência de um ALUNO é obrigatória a existência de uma TURMA.Para a existência de uma TURMA não é obrigatória a existência de um ALUNO

Modelo de DadosÉ a representação gráfica das entidades e seus relacionamentos.

Página: 6

TURMA ALUNO

Page 7: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Ex.:

Modelo de Dados da Empresa ou Corporativo É a representação gráfica das classes de dados e seus relacionamentos englobando a estrutura geral das informações da empresa.

Modelo de Dados do Projeto É a representação gráfica das entidades e seus relacionamentos englobando a estrutura de dados de um projeto específico. O modelo de dados do projeto deve ser compatível com o modelo de dados corporativo.

4.3 - FLUXO BÁSICO DOS PROCESSOS DE MODELAGEM

A modelagem de dados e uma atividade realizada durante o ciclo de vida de um sistema.

Cicio de Vida de um Sistema É o conjunto de etapas que definem o desenvolvimento de um sistema. Diferentes autores e abordagens apresentam diferentes etapas para o ciclo. Em nosso caso iremos considerar:

• Estudo de viabilidade • Análise do sistema • Projeto do sistema • Implementação • Implantação • Manutenção

Página: 7

ALUNODISCIPLINA

TURMA PROFESSOR

Page 8: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Neste sentido, a modelagem a nível de projeto de um sistema poderá seguir as seguintes etapas: análise de dados top-down, descrita abaixo, e análise de dados bottom-up, que será detalhada a seguir.

4.3.1 - Análise de Dados Top-Down

É uma etapa cumprida durante o estudo de viabilidade de um projeto. O objetivo será apenas o de criar um modelo preliminar dos dados que serão processados pelo sistema, caso a execução do projeto seja aprovada.

a) Identificar as Classes de Dados

Na fase de estudo de viabilidade do projeto, as funções do sistema em estudo serão analisadas de forma geral, apenas para identificar os grandes agrupamentos de dados que serão manipulados pelo sistema e se constituem nas classes de dados.

Para cada classe de dados identificada deve-se saber o que é, qual sua utilidade e quem é responsável por sua atualização.

b) Elaborar modelo de dados preliminar

Definir como as classes de dados identificadas anteriormente se relacionam.

4.4 - ANÁLISE DE DADOS BOTTOM-UP

O estudo de viabilidade serve de base para a decisão de execução ou não do projeto. Em sendo viável, o projeto será executado a partir da fase de análise.

Nesta etapa do ciclo de vida, as funções e classes de dados que anteriormente tinham sido objeto de um estudo preliminar, serão detalhadas. Em organizações em que o desenvolvimento de sistemas é centralizado, esta atividade em geral é realizada por analistas de sistemas. Entretanto, com a crescente utilização de SGBD, a análise de dados passa a ser uma técnica necessária também aos programadores, que são chamados ao desenvolvimento de sistemas não apenas na etapa de implementação, mas também na análise.

A análise de dados bottom-up, partindo das classes de dados identificadas no estudo de viabilidade, chegará a um modelo de dados suficientemente detalhado. A partir deste modelo serão derivadas as estruturas de arquivos tradicionais ou do banco ce dados a ser manipulado pelo SGBD. Para isso as etapas a serem cumpridas serão:

Página: 8

Page 9: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4.4.1 - Definir as necessidades de Dados

Para cada classe de dados se faz necessário um levantamento DOS dados que serão mantidos pelo sistema

a) Conceituação dos Dados

Cada um dos dados deverá ser identificado com um nome condizente com seu conteúdo. Neste sentido, em empresas que disponham de uma administração de dados, as regras de nomenclatura definidas no modelo corporativo deverão ser obedecidas. Atualmente, boa parte das linguagens de quarta geração já dispõem de dicionário de dados automático. Nestes dicionários, as definições que já existirem deverão ser utilizadas pelas novas aplicações, sem necessidade de recria-las.

Como padrão na conceituação dos dados podemos seguir a regra N + QN1 + QN2 + ….. + QN0 + C

CLASSE DE DADOS

QUALIFICADOR DO DADO

NATUREZA DO DADO

Exs.: Data Cadastramento Cliente Preço Unitário Produto

Na conceituação dos dados, deve-se ter em mente algumas perguntas a serem respondidas:

a. O que é o dado?Qual o seu significado para o usuário, bem como seu formato e tamanho?

b. Para que serve? Qual a utilização do dado pelo usuário? c. Como é utilizado? De que forma o dado é utilizado? d. Há interesse de histórico? Os valores que o dado assumiu no passado devem ser

guardados? e. Quem é o proprietário?

Página: 9

Page 10: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Quem é o responsável pela criação e manutenção dos dados? Através de que funções estes processos são executados?

f. Qual o domínio? Que possíveis valores o dado pode assumir?

b) Dependência Funcional

Da matemática temos:

Dados dois conjuntos A e B, dizemos que B é funcionalmente dependente de A se, somente se, para cada elemento de A não temos mais do que um elemento de b associado. Não devendo existir elemento em B sem que haja elemento em A associado

X NÃO É FUNÇÃO Y

A É FUNÇÃO B

Tenha em mente este conceito ao analisar a existência de chaves primárias entre os dados analisados, bem como posteriormente na definição dos relacionamentos.

4.4.2 - Normalização de Dados

Normalização É uma técnica formal que agrupa os dados de uma forma capaz de comportar mudanças e reduzir a redundância de dados.

Página: 10

Page 11: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

A normalização está baseada nos conceitos de formas normais Um agrupamento de dados está em uma determinada forma normal, se ele satisfaz um conjunto de restrições. As formas normais foram definidas inicialmente por Edgar F. Codd, que foi o responsável também pela definição da abordagem relacional de SGED.

Primeira Forma Normal Um agrupamento de dados está na primeira forma normal quando não possuir itens repetitivos. Em outras palavras, partindo-se de um valor da chave só existirá um valor para os demais dados do agrupamento.

Segunda Forma Normal Um agrupamento de dados está na segunda forma normal quando estiver na primeira forma normal e todos os dados forem dependentes funcionais completos da chave.

Terceira Forma Normal Um agrupamento de dados está na terceira forma norma; quando estiver na segunda forma normal e todos os dados dependerem exclusivamente da chave Não deve existir dependência entre os tens.

Existem outras formas normais. Entretanto para nosso estudo prático será suficiente o conhecimento das três primeiras.

Como resultado da normalização, teremos um conjunto de agrupamentos de dados, cada qual constituindo uma entidade,

Cada uma das entidades deverá receber um nome e ser conceituada.

Na conceituação das entidades deve-se levar em conta:

a. O que é a entidade? Qual o seu significado para o usuário? b. Para que serve? Qual a utilização da entidade pelo usuário? c. Como é utilizado? De que forma a entidade é utilizada? d. Há interesse de histórico? Os valores que a entidade assumiu no passado devem ser guardados? e. Quem é o proprietário? Quem é o responsável pela criação e manutenção da entidade? Através

de que funções estes processos são executados? f. Quais são as subentidades? Há grupos de ocorrências da entidade que requerem algum tratamento

especial?

Página: 11

Page 12: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4.4.3 – Elaborar Modelo de Dados Detalhado

Dispondo das entidades resultantes da normalização, teremos de identificar os relacionamentos existentes entre elas, para então criar o modelo de dados.

a) Elaborar Matriz de AssociaçãoË um processo de identificação dos relacionamentos existentes entre as entidades. Para isso faz uso das chaves e do conceito do usuário para cada entidade.

b) Elaborar DiagramaA elaboração do modelo de dados terá por base as entidades e os relacionamentos determinados pela matriz de associação.

Uma outra denominação para o presente modelo é modelo entidade-relacionamento. Esta abordagem foi descrita por Peter-Chen aparecendo como proposta de sistematização do projeto de banco de dados.

c) Conceituação dos Relacionamentos Assim como dados e entidades, os relacionamentos deverão ser nomeados e conceituados, levando em conta: a. O que é o relacionamento? Qual o seu significado para o usuário? b. Para que serve? Qual a utilização do relacionamento pelo usuário? c. Como é utilizado? De que forma o relacionamento é utilizado? d. Quem é o proprietário? Quem é o responsável pela criação e manutenção do relacionamento?

Através de que funções estes processos são executados?

Página: 12

Page 13: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4.5- ESTUDO DE CASO

Afim de fixar os conceitos vistos, apresentamos um exemplo de análise de dados bottom-Up.

Vamos considerar que a partir da análise de dados top-down foi definido como classe de dados o documento abaixa:

FICHA DESEMPENHO FINAL ALUNONÚMERO MATRICULA. 999-99NOME DO ALUNO XXXXXXXXXXXXXXXXXXXXfCÓDIGO CURSO XXDESCRIÇÃO CURSO XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDISCIPLINAS CURSADAS

CÓDIGO DESCRIÇÃO MÉDIA % FREOXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

99,999,999,999,999,999,999,999,999,999,999,9

999.9999.9999.9999.9999.9999.9999.9999.9999.9999.9999.9

MEDIA GERAL 99,9 999.9

Considere que:

a. Cada ficha diz respeito a um aluno. b. O aluno recebe um número de matrícula que o diferencia de todos os

demais. c. O mesmo aluno em diferentes cursos terá diferentes números de matrícula. d. Cada disciplina tem um código que a diferencia das demais e. Em uma determinada ficha cada disciplina aparece uma única vez.

Página: 13

Page 14: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4.5.1- Definir as Necessidades de Dados

a) Conceituação dos Dados

Para a classe dos dados FICHA DESEMPENHO FINAL ALUNO temos como dados:

NÚMERO MATRICULA ALUNO NOME ALUNO CÓDIGO CURSO DESCRIÇÃO CURSO CÓDIGO DISCIPLINA DESCRIÇÃO DISCIPLINA MÉDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

Os dados MÉDIA GERAL ALUNO e MEDIA GERAL FREQUÊNCIA ALUNO são derivados, podendo ser obtidos através de processamento, cai não serem considerados.

A conceituação não se restringe a dar nomes aos dados. Como exercício. para cada dado responda ás questões de conceituação de dados do item 3.4.1.1

b) Dependência Funcional

O conceito de dependência funcional nos será útil neste momento para definirmos a chave primária da classe de dados. O dado capaz de diferenciar cada uma das fichas é o NÚMERO DE MATRÍCULA DO ALUNO. A partir de uma ocorrência deste dado analisaremos o número de ocorrências dos demais.

NÚMERO MATRÍCULA ALUNO

NOME ALUNOCODIGO CURSODESCRIÇÃO CURSOCÓDIGO DISCIPLINADESCRIÇÃO DISCIPLINA MÉDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

Página: 14

Page 15: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

4.6.2- Normalização de Dados

Primeira Forma Normal. Um agrupamento de dados está na primeira forma normal’ quando não possuir itens repetitivos. Em outras palavras, partindo-se de um valor da chave só existirá um valor para os demais dados do agrupamento.

Pela definição vemos que o agrupamento não está na 1FN. Para passá-lo para 1FN:

a. Crie um agrupamento com os dados não repetitivos onde a chave é a chave original.

b. Para os tens repetitivos: b1 Identifique uma chave primaria. b2. Crie um agrupamento com 05 itens repetitivos onde a chave será

composta pela chave do agrupamento original mais a chave identificada no tem b1.

NÚMERO MATRICULA ALUNO

NOME ALUNOCÓDIGO CURSODESCRIÇÃO CURSO

NÚMERO MATRICULA ALUNO

CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINAMÉDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

Os agrupamentos criados substituirão o original, desde que guardem as mesmas informações. Isto explica a utilização da chave composta. Através dela continuaremos sabendo quais disciplinas cada aluno fez. Por outro lado. a partir da chave composta o número de ocorrências de cada dado, neste caso, se restringirá a 1 O agrupamento está na 1 FN.

Segunda Forma Normal Um agrupamento de dados está na segunda forma normal quando estiver na primeira forma normal e todos os dados forem dependentes funcionais completos da chave.

Página: 15

Page 16: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Cada um dos agrupamentos resultantes da transformação para a 1FN deverá ser analisado em relação aos critérios da definição anterior.

NÚMERO MATRICULA ALUNO

NOME ALUNOCÓDIGO CURSODESCRIÇÃO CURSO

Está da 2FN, na medida em que está na 1FN e pelo fato de que para diferenciar/acessar diferentes ocorrências de cada um dos dados dependemos da chave.

NÚMERO MATRICULA ALUNO

CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINAMÉDIA ALUNO DISCIPLINAFREQUÉNCIA ALUNO DISCIPLINA

O agrupamento está na 1FN, Entretanto, verificamos que o dado DESCRIÇÃO DISCIPLINA tem suas ocorrências diferenciadas apenas pelo emprego de CÓDIGO DISCIPLINA. não havendo necessidade de utilização do NÚMERO MATRiCULA ALUNO. Em outras palavras: todos os alunos matriculados em um curso, PD. por exemplo, terão a mesma descrição associada, PROCESSAMENTO DE DADOS, não importando sua matricula. O agrupamento não está na 2FN.

Para passar um agrupamento que esteja na 1 FN. para a 2FN:

a. Crie um agrupamento com os dados que dependem completamente da chave.

b. Para cada item que não depende completamente da chave crie um agrupamento onde a chave será a parte da chave composta do qual é funcionalmente dependente. Agrupamentos com mesma chave devem ser reunidos.

NÚMERO MATRÍCULA ALUNO

CÓDIGO DISCIPLINA

MÉDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINA

Os agrupamentos criados substituirão o original, desde que guarde as

Página: 16

Page 17: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

mesmas informações. Desta forma teremos:

NÚMERO MATRICULA ALUNO

NOME ALUNOCÓDIGO CURSODESCRIÇÃO CURSO

NÚMERO MATRICULA ALUNO

CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINA MÉDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINA

Terceira Forma Normal Um agrupamento de dados está na terceira forma normal quando estiver na segunda forma normal e todos os dados dependerem exclusivamente da chave. Não deve existir dependência entre os tens.

Cada um dos agrupamentos resultantes da transformação cara a 2FN deverá ser analisado em relação aos critérios da definição anterior.

NÚMERO MATRÍCULA ALUNO

NOME ALUNO CÓDIGO CURSO DESCRIÇÃO CURSO

O agrupamento esta na 2FN, entretanto, verificamos que os dados CÓDIGO CURSO e DESCRIÇÃO CURSO apresentam dependência funciona. O agrupamento não está na 3FN.

Para passar um agrupamento que esteja na 2FN, para a 2FN:

a.Crie um agrupamento com os dados que não apresentam dependência funcional entre si. mas apenas em relação a chave. Este agrupamento continuará com a mesma chave.

b.Para cada conjunto de dados que apresentam dependência funcional: b1. Identifique uma chave primaria. b2. Crie um agrupamento com os itens dependentes da chave

identificada no tem b1.

Página: 17

Page 18: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

b3. Crie um agrupamento relacionando a chave do agrupamento criado no item a e a chave identificada no tem b1

NUMERO MATRICULA ALUNO

NOME ALUNO

CÓDIGO CURSO

DESCRIÇÃO CURSO

NUMERO MATRÍCULA ALUNO

CÓDIGO CURSO

Os demais agrupamentos estão na 3FN

NUMERO MATRICULA ALUNO

CÓDIGO DISCIPLINA

MEDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

CODIGO DISCIPLINA

DESCRIÇÃO DISCIPLINA

Os agrupamentos criados substituirão o original, desde que guardem as mesmas informações. Desta forma teremos, como resultante do processo de normalização as seguintes entidades:

Página: 18

Page 19: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

ALUNO NÚMERO MATRICULA ALUNO

NOME ALUNO

CURSO CÓDIGO CURSO

DESCRIÇÃO CURSO

ALUNO-CURSO NÚMERO MATRICULA ALUNO

CÓDIGO CURSO

ALUNO—DISCIPLINA NUMERO MATRICULA ALUNO

CÓDIGO DISCIPLINA

MEDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

DISCIPLINA CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINA

A conceituação não se restringe a dar nomes as entidades. Como exercício para cada entidade responda às questões de conceituação de dados do item 3.4.2.

4.5.3 - Elaborar Modelo de Dados Detalhado

a) Elaborar Matriz de Associação

Criaremos uma matriz onde estarão listadas nas respectivas linhas e colunas as entidades identificadas pela normalização.

Cada elemento da matriz será preenchido se. e somente se, houver um relacionamento entre a entidade daquela linha e a entidade daquela coluna. Como não temos relacionamento de uma entidade consigo mesma, os elementos da diagonal serão anulados.

Página: 19

Page 20: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

ALUNO

CURSO

ALUNOCURSO

ALUNO-DISCIPLINA

DISCIPLINA

ALUNOCURSOALUNO-CURSOAUTO-DISCIPLINADISCIPLINA

Para cada entidade identificada na matriz faça:

a. Identifique a chave primária b. Se a chave for simples (um único dado)

Para cada entidade que tenha entre seus dados o identificador no item a, faça a seguinte pergunta:

b1. Para uma ocorrência da primeira entidade com um determinado valor de chave, quantas ocorrências da segunda entidade apresentarão o dado com o mesma valor? Uma (1) ou várias (N)?

b2. Marque a resposta na posição da matriz correspondente as duas entidades.

c. Se a chave for composta (mais de um dado) Para cada componente da chave: c1.Identifique a entidade em que aquele componente é chave

primária. c2.Para uma ocorrência da primeira entidade com um determinado

valor de chave, quantas ocorrências da segunda entidade apresentarão o dado com o mesmo valor? Uma (1) ou várias (N)?

c3.Marque a resposta na posição da matriz correspondente as duas entidades.

Página: 20

Page 21: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

Na aplicação das instruções esteja atento para as observações que tenham sido feitas a respeito da classe de dados original. Muitas destas observações poderão ser colhidas durante as entrevistas realizadas com o usuário durante as etapas de estudo de viabilidade e análise do projeto do sistema.

Deve-se considerar ainda que o modelo de dados poderá conter melhorias propostas pelo usuário ou pelo próprio analista no decorrer da análise. Durante a análise de um sistema, mais do que a automatização de processos da forma com que são feitos atualmente. deve haver uma preocupação com melhorias, quer no aspecto técnico de informática, quer, sobretudo, no atendimento das necessidades do cliente.

Por vezes o modelo de dados e funções de um sistema poderão apresentar uma nova rotinização para uma atividade, bem como um novo conjunto de informações.

b) Elaborar Diagrama

Em nosso exemplo didático, estaremos modelando a situação atual sendo a matriz preenchida da seguinte forma:

ALUNO

CURSO

ALUNOCURSO

ALUNO-DISCIPLINA

DISCIPLINA

ALUNO 1 NCURSO NALUNO-CURSO 1 1AUTO-DISCIPLINA 1 1DISCIPLINA N

Página: 21

Page 22: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

CURSO

ALUNO CURSO

ALUNO

ALUNO DISCIPLINA

DISCIPLINA

c) Conceituação dos Relacionamentos

A conceituação não se restringe a dar nomes aos relacionamentos. Como exercício, para cada relacionamento responda às questões de conceituação de relacionamentos do item 3.4.3.3

Dentre as perguntas a serem respondidas existe uma a respeito da obrigatoriedade dos relacionamentos, o que virá a complementar o modelo.

4.5.4 - Simplificação do Modelo

O modelo acima é passível de simplificação. Isto se deve ao fato de que caca aluno cursa um único curso. Desta forma, nada impediria de considerar CÓDIGO CURSO no agrupamento ALUNO-CURSO como mais um dado do agrupamento ALUNO. Assim, teremos:

Página: 22

Page 23: 4- PROJETO DE BANCO DE DADOS - ailtonsousa.com.br · Banco de Dados Profa. Avanilde Kemczinski Dra. avanilde@joinville.udesc.br 4- PROJETO DE BANCO DE DADOS OBJETIVOS DE ENSINO: 4

Banco de Dados Profa. Avanilde Kemczinski [email protected]

ALUNO NÚMERO MATRICULA ALUNO

NOME ALUNO

CURSO CÓDIGO CURSO

DESCRIÇÃO CURSO

ALUNO-CURSO

NÚMERO MATRICULA ALUNO CÓDIGO CURSO

ALUNO—DISCIPLINA

NUMERO MATRICULA ALUNO

CÓDIGO DISCIPLINA

MEDIA ALUNO DISCIPLINA FREQUÊNCIA ALUNO DISCIPLINA

DISCIPLINA

CÓDIGO DISCIPLINA

DESCRIÇÃO DISCIPLINA

Página: 23

CURSO

ALUNO

ALUNODISCIPLINA

DISCIPLINA