Upload
trinhcong
View
218
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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