Dicionário de dados
- Lista organizada dos elementos do sistema, com definições precisas e rigorosas
- Permite que tenhamos uma compreensão comum dos fluxos de entrada e saída, dos componentes dos depósitos de dados e dos cálculos intermediários
- Na descrição do dicionário é utilizada uma gramática, quase formal, para descrever o conteúdo dos elementos definidos durante a análise estruturada
- Especifica os “valores ” e “unidades ” de partes elementares de informações dos fluxos de dados e dos depósitos de dados
- Detalha os relacionamentos entre os depósitos especificados em um DER
| Símbolo | Notação |
|---|---|
| = | é composto de |
| ( ) | opcional (pode estar presente ou ausente) |
| { } | iteração (zero ou mais ocorrências) |
| [ ] | escolha uma das opções alternativas |
| * ...* | comentário |
| @ | identificador (campo chave) de um depósito |
| Barra Vertical | separa as alternativas na construção [ ] |
Notação:
Exemplos de notação:
- { }
- código_cartão = {número_válido}7 ou 7{número_válido}
- caracter = {caracter-valido}
- filmes = { Filme + (código-sócio) }
- [ ]
- número_válido = [0-9]
- classe-social = [A-E]
- |
- sexo = [F | M]
- status = [ativo | inativo]
- titulo = [Sr. | Srta. | Sra. | Dr.]
- situação = [ "alugado" | "disponível" ]
- caracter-valido = [a-z | A-Z | ‘ | | - | .]
- @
- Aluno = @matricula + nome + cpf + identidade + cep + complemento
- Carro = @placa + marca + modelo + ano + cor + (acessorios)
- Filme = @código-filme + nome + realizador + (atorprincipal) + situação
- Disciplina = @{cod-disciplina + cod-professor} + nome + CH
- Quais são os possíveis significados das expressões abaixo?
- endereço = (cidade) + (estado)
- endereço é definido como uma cidade e um estado ou
- endereço é definido como uma cidade ou
- endereço é definido como um estado ou
- endereço é definido como vazio.
- Quais são os possíveis significados das expressões abaixo?
- endereço = rua + cidade + (estado) + (codpostal)
- endereço é definido como um rua e uma cidade e um estado e um código postal ou
- endereço é definido como um rua e uma cidade e um estado ou
- endereço é definido como um rua e uma cidade e um código postal ou
- endereço é definido como um rua e uma cidade
- comentário (*):
- Caminhão = @placa + marca + carga * características de cada caminhão da empresa *
*** matrícula = {digito}5- digito = [0-9]
- marca = * possíveis marcas dos caminhões da empresa *
- [ “BMW”|“Volvo”|“Mercedes”|“Outros”]
- carga = * quantidade máxima de carga que o caminhão suporta *
- * unidade: toneladas; intervalo: 10 – 100 *
- Caminhão = @placa + marca + carga * características de cada caminhão da empresa *
Modelo Entidade-Relacionamento
- Modelos Conceituais Comuns para Bases de Dados
- Entidade Relacionamento:
- Focaliza na estrutura dos dados/metadados
- Modelagem funcional separada da Orientação a objeto
- Entidade
- Grupo de pessoas, coisas ou eventos que compartilham um conjunto de atributos
- Caracterizada pelos relacionamentos com outros tipos
- Uma entidade é descrita (em BD) usando um conjunto de atributos
- Relacionamentos
- Associações lógicas entre entidades
Exemplo: Entidade Clientes
- Atributo identificador:
- número do cliente
- Atributos descritores:
- nome, cidade, telefone, data nascimento, profissão, sexo
- Exemplo de instância:
- número do cliente: 125
- nome: João Freitas Filho
- cidade: Uberlândia
- telefone: 3214-4657
- data nascimento: 01/09/1984
- profissão: carpinteiro
- sexo: m
Relacionamento
- Um relacionamento ou associação representa um conjunto de ligações entre entidades que necessitam ser guardadas pelo sistema
- A associação é caracterizada pela conjunção dos atributos identificadores das entidades envolvidas
- Cada relacionamento é definida por:
- Substantivo + relação + Substantivo
Tipos de Relacionamento
- Unária: Auto-associação ou relação entre uma entidade e ela própria

- Binária: Relação entre duas entidades.

- Complexa: Relação entre três ou mais entidades

Chaves
Chave Primária
- Atributo usado como identificador do item da entidade, como por exemplo um produto que possui um código de barras que o difere dos demais produtos
- Esse código de identificação deve ser único
- Exemplos:
- matricula
- placa
- cpf
Chave Estrangeira
- Responsável pelo relacionamento entre duas entidades, como por exemplo, um produto que se relaciona com categoria deve conter como chave estrangeira o código (chave primária) da categoria a qual ele pertence
- Permite que a partir dela se chegue na chave primária de outra entidade.
- Exemplos:
- cidade na Entidade Pessoa
- professor na Entidade Disciplina
- medico na Entidade Consulta
- banco na Entidade movimento-conta
DER – Diagrama Entidade-Relacionamento
- DER ou DEA é uma técnica de modelação que representa a visão estática dos dados e dos relacionamento (associações) entre eles
- Um DER identifica:
- as entidades internas do sistema (depósitos de dados)
- as associações entre os dados
- as características dos dados e das associações
- Estes elementos encontram-se espalhados pelos requisitos do problema, modelo de circulação da informação (DFDs), dicionário de dados (DDs) e especificação de processos

- Será que um cliente pode ter alugado (ou pode alugar) vários filmes?
- Será que um cliente pode nunca ter alugado um filme?
- Será que um filme só pode ser alugado por um cliente, por nenhum ou por muitos?
- Devemos completar as associações com a sua cardinalidade.
Cardinalidade
- A cardinalidade define os graus de uma associação:

Relacionamento um-para-um (1:1)
- Indica que uma única ocorrência de uma entidade pode se relacionar com apenas uma única ocorrência de outra entidade.
- Este tipo de relacionamento é raro (no mundo cotidiano)
- Exemplo: MARIDO (1) possui (1) ESPOSA

- Exemplos de Maridos e suas respectivas Esposas

- Uma forma interessante de armazenar:

- Cada linha de uma tabela se relaciona facilmente com a linha de outra
Relacionamento um-para-muitos (1:N ou 1:M)
- Indica que uma ocorrência de uma entidade pode se relacionar com muitas ocorrências de outra entidade
- No entanto, a recíproca não é verdadeira
- Este tipo de relacionamento é o mais encontrado

- Uma situação comum: Um pai tem vários filhos

Relacionamento muitos-para-muitos (N:M)
- Indica que várias ocorrências de uma entidade podem se relacionar com muitas ocorrências de outra entidade
- Geralmente, um relacionamento desse tipo pode ser convertido e simplificado pela criação de uma entidade intermediária (do tipo associativa) e de dois relacionamentos do tipo 1:N (um-para-muitos)
- Exemplo:
- Sistema de compras: Um cliente pode comprar vários produtos, e um produto pode ser comprado por vários clientes
- Nesse caso, existe a necessidade da implementação de uma entidade fraca entre as duas entidades
- Essa entidade é chamada de entidade fraca pois sua chave primária é formada por duas chaves estrangeiras
- Nesse caso, as chaves estrangeiras poderão se repetir, mas o conjunto delas duas nunca irá se repetir, formando a chave primária

- Outra situação comum: Armazenar informações sobre professores e suas disciplinas.
- Temos que levar em consideração duas premissas:
- Um professor pode ministrar mais de uma disciplina
- Uma disciplina pode ter mais de um professor

- Essas condições forçam a ter uma segunda tabela para manter os relacionamentos acima.

Exercícios
- Descrever cada Depósito de Dados com os principais atributos envolvidos e escolher atributo chave para cada conjunto de entidades abaixo:
- Funcionário = {Nome + Endereço + Salário + Data-ingresso}
- Cliente = {Nro-CPF + Nome + Endereço + Data-Nasc}
- Aluno = {Matrícula + Nome + Sexo + Data-nasc.}
- Dependente-Funcionário = {Matrícula-Func + Nome-dep + Data-nasc }
- Benefícios = {Matrícula-Func + CodBeneficio + Data-benef}
- Notas = {Matrícula + Disciplina + Sem + Notas}
- Pedido = {NroPedido + Cliente + DataPed + Produto}
- Conta = {nro-conta + saldo + juro + período}