Buscar

#06 Modelo Entidade Relacionamento Parte III

Prévia do material em texto

BANCO DE DADOS
Modelo Entidade-Relacionamento:
Modelo Lógico e Dicionário de Dados
MODELAGENS
Introdução
Mundo 
Real
Modelo 
Conceitual
Modelo Lógico Modelo 
Físico
MODELO LÓGICO
Modelo Lógico
 Conversão do esquema conceitual para o esquema de 
representação de um SGBD (esquema lógico).
 Forma de realização: 
 Aplicação de regras de conversão.
 Resultado: 
 Esquema lógico (tabelas, restrições de implementação, transações, 
consultas relevantes e visões, autorizações de acesso, ...).
Modelo Lógico
 Exemplo:
CursosNome
CodCurso
LecionaDocentes Disciplinas
Nome Nome
CargaHoraria
Matricula
Codigo
Periodo
(0,N)
(1,1)
(1,1)(1,1) (0,N) (0,N)
Modelo Lógico
 Convertendo Entidades:
Docentes
Nome
Matricula
Disciplinas
Nome
CargaHoraria
Codigo Cursos
Nome
CodCurso
Matricula
Nome
Docentes
Codigo
Nome
CargaHoraria
Disciplinas
CodCurso
Nome
Cursos
Modelo Lógico
 Primary Key (PK):
 Coluna, ou uma combinação de colunas, que contém valores que
identificam exclusivamente cada linha na tabela;
 A tabela só pode ter uma restrição PRIMARY KEY, e a(s) coluna(s)
que participa(m) da restrição PRIMARY KEY não pode(m) aceitar
valores nulos;
 Se uma restrição PRIMARY KEY for definida em mais de uma
coluna, os valores podem ser duplicados em uma coluna, mas cada
combinação de valores de todas as colunas na definição da
restrição PRIMARY KEY deve ser exclusiva;
 Quando especificar uma restrição PRIMARY KEY para uma tabela, o
Mecanismo de Banco de Dados impõe a exclusividade dos dados
criando um índice exclusivo para as colunas de chave primária.
Modelo Lógico
 Convertendo Entidades:
Docentes
Nome
Matricula
Disciplinas
Nome
CargaHoraria
Codigo Cursos
Nome
CodCurso
PK Matricula
Nome
Docentes
PK Codigo
Nome
CargaHoraria
Disciplinas
PK CodCurso
Nome
Cursos
Modelo Lógico
 Foreign Key (FK):
 Coluna ou combinação de colunas que é usada para
estabelecer e impor um link entre os dados em duas tabelas;
 Em uma referência de chave estrangeira, cria-se um link entre
duas tabelas quando a coluna ou as colunas que contêm o valor
de chave primária para uma tabela são referenciadas pela
coluna ou colunas em outra tabela:
 Essa coluna torna-se uma chave estrangeira na segunda tabela.
 Regra de ouro:
 A entidade com a maior cardinalidade máxima receberá a FK.
Modelo Lógico
 Integridade Referencial:
 Foreign Key:
 Propósito principal: controlar os dados que podem ser armazenados
na tabela de chave estrangeira.
 Também controla as alterações aos dados na tabela de chave
primária.
 Garantia de que não possam ser feitas alterações na tabela de
chave primária se essas alterações invalidarem o link aos dados
na tabela de chave estrangeira.
Modelo Lógico
 Convertendo Entidades:
CursosNome
CodCurso
LecionaDocentes Disciplinas
Nome Nome
CargaHoraria
Matricula
Codigo
Periodo
(0,N)
(1,1)
(1,1)(1,1) (0,N) (0,N)
Periodo
FK1 Matricula
FK2 Codigo
FK3 CodCurso
Docentes_Disciplinas
Modelo Lógico
 Simbologia de Cardinalidade:
Símbolos Cadinalidade Comentário
(0,N) Zero ou muitos. O lado “muitos” é opcional.
(1,N) Um ou muitos. O lado muitos é obrigatório.
(1,1) Um e somente um. O lado “1” é obrigatório.
(0,1) Zero ou um. O lado “1” é opcional.
Modelo Lógico
 Convertendo Entidades:
PK Matricula
Nome
Docentes PK Codigo
Nome
CargaHoraria
Disciplinas
PK CodCurso
Nome
Cursos
Periodo
FK1 Matricula
FK2 Codigo
FK3 CodCurso
Docentes_Disciplinas
Modelo Lógico
 Convertendo Entidades:
PK Matricula
Nome
Docentes PK Codigo
Nome
CargaHoraria
Disciplinas
PK CodCurso
Nome
Cursos
Periodo
FK1 Matricula
FK2 Codigo
FK3 CodCurso
Docentes_Disciplinas
Como definir a chave primária?
Modelo Lógico
 Convertendo Entidades:
PK Matricula
Nome
Docentes PK Codigo
Nome
CargaHoraria
Disciplinas
PK CodCurso
Nome
Cursos
Opção 01:
Definir uma chave primária composta a partir do 
conjuntos de dados que não devem se repetir em 
conjunto.
PK Periodo
PK, FK1 Matricula
PK, FK2 Codigo
PK, FK3 CodCurso
Docentes_Discplinas
Modelo Lógico
 Convertendo Entidades:
PK Matricula
Nome
Docentes PK Codigo
Nome
CargaHoraria
Disciplinas
PK CodCurso
Nome
Cursos
PK idDocentes_Disciplinas
Periodo
FK1 Matricula
FK2 Codigo
FK3 CodCurso
Docentes_Disciplinas
Opção 02:
Definir uma chave primária independente.
DICIONÁRIO DE DADOS
Dicionário de Dados
 Documento com a explicação de todas as entidades 
envolvidas no projeto:
 Descrição dos atributos com informações que irão auxiliar na 
implementação do modelo físico.
 Permite que os analistas obtenham informações sobre 
todos os objetos do modelo de forma textual, contendo 
explicações por vezes difíceis de incluir no diagrama:
 Desafio → Ser claro e consistente.
Dicionário de Dados
 Informações Necessárias:
Informação Descrição
Atributo Nome do atributo a ser criado.
Conteúdo
Descrição do conteúdo a ser armazenado no 
atributo.
Tipo Tipo de dados do atributo.
Formato
Formato de armazenamento do atributo. Útil 
na criação da interface do sistema.
Faixa Faixa de valores aceitos no atributo.
Obrigatório
Informar se o atributo é obrigatório de 
informado (S) ou não (N).
PK / FK
Informar se o atributo é PK ou FK. Deixar em 
branco caso não seja nenhum dos dois.
Tabela Referenciada por FK
Informar a tabela e o atributo que a FK está 
associada.
Modelo Lógico
 Convertendo Entidades:
PK Matricula
Nome
Docentes PK Codigo
Nome
CargaHoraria
Disciplinas
PK CodCurso
Nome
Cursos
PK idDocentes_Disciplinas
Periodo
FK1 Matricula
FK2 Codigo
FK3 CodCurso
Docentes_Disciplinas
Dicionário de Dados
 Entidade:
 Docentes
 Finalidade:
 Armazenar dos dados dos docentes.
Atributo Conteúdo Tipo Formato Faixa Obrigatório PK / 
FK
Tabela 
Referenciada 
por FK
Matricula Matrícula
do 
docente.
Numérico Inteiro S PK
Nome Nome da 
Docente.
Alfanumérico S
Dicionário de Dados
 Entidade:
 Disciplinas
 Finalidade:
 Armazenar dos dados das disciplinas a serem ofertadas.
Atributo Conteúdo Tipo Formato Faixa Obrigatório PK / 
FK
Tabela 
Referenciada 
por FK
Codigo Código de 
controle da
disciplina.
Numérico Inteiro, 
AutoIncremento
S PK
Nome Nome da 
disciplina.
Alfanumérico S
CargaHoraria Carga 
Horária da 
Disciplina.
Numérico Inteiro 30, 45, 60, 
90, 120
S
Dicionário de Dados
 Entidade:
 Cursos
 Finalidade:
 Armazenar dos dados dos cursos.
Atributo Conteúdo Tipo Formato Faixa Obrigatório PK / 
FK
Tabela 
Referenciada 
por FK
Codigo Código do 
curso.
Numérico Inteiro 99.999 S PK
Nome Nome do
curso.
Alfanumérico S
Dicionário de Dados
 Entidade:
 Docentes_Disciplinas
 Finalidade:
 Armazenar as associações entre docentes, disciplinas, cursos e períodos letivos.
Atributo Conteúdo Tipo Formato Faixa Obrigatório PK / 
FK
Tabela 
Referenciada 
por FK
idDocentes_Disciplinas Controle Numérico Inteiro, 
Autoincremento
S PK
Periodo Período 
que a 
disciplina 
vai ser 
lecionada.
Alfanumérico AAAA.S S
Matricula Matrícula 
do 
Docente.
Numérico Inteiro S FK Docentes 
(Matricula)
Codigo Código da
Disciplina.
Numérico Inteiro S FK Disciplinas 
(Codigo)
CodCurso Código do 
Curso.
Numérico Inteiro 99.999 S FK Cursos
(CodCurso)

Continue navegando