Criou página com '= 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 entrad...' |
|||
| Linha 73: | Linha 73: | ||
*{ } | *{ } | ||
** código_cartão = {número_válido} | ** código_cartão = {número_válido} | ||
** caracter = {caracter-valido} | ** caracter = {caracter-valido} | ||
** filmes = { Filme + (código-sócio) } | ** filmes = { Filme + (código-sócio) } | ||
<br> | <br> | ||
* [ ] | * [ ] | ||
** númeroválido = [0-9] | ** númeroválido = [0-9] | ||
** Classesocial = [A-E] | ** Classesocial = [A-E] | ||
<br> | <br> | ||
* | | * | | ||
** sexo = [F | M] | ** sexo = [F | M] | ||
** status = [ativo | inativo] | ** status = [ativo | inativo] | ||
** titulo = [Sr. | Srta. | Sra. | Dr.] | ** titulo = [Sr. | Srta. | Sra. | Dr.] | ||
** situação = [ "alugado" | "disponível" ] | ** situação = [ "alugado" | "disponível" ] | ||
** caracter-valido = [a-z | A-Z | ‘ | | - | .] | ** caracter-valido = [a-z | A-Z | ‘ | | - | .] | ||
<br> | <br> | ||
* @ | * @ | ||
** filme = @código-filme + nome + realizador + (atorprincipal) + situação | ** filme = @código-filme + nome + realizador + (atorprincipal) + situação | ||
<br> | <br> | ||
* Quais são os possíveis significados das expressões abaixo? | * Quais são os possíveis significados das expressões abaixo? | ||
** endereço = (cidade) + (estado) | ** endereço = (cidade) + (estado) | ||
** endereço é definido como uma cidade e um estado ou | ** endereço é definido como uma cidade e um estado ou | ||
** endereço é definido como uma cidade ou | ** endereço é definido como uma cidade ou | ||
** endereço é definido como um estado ou | ** endereço é definido como um estado ou | ||
** endereço é definido como vazio. | ** endereço é definido como vazio. | ||
<br> | <br> | ||
* Quais são os possíveis significados das expressões abaixo? | * Quais são os possíveis significados das expressões abaixo? | ||
** endereço = rua + cidade + (estado) + (codpostal) | ** 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 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 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 e um código postal ou | ||
** endereço é definido como um rua e uma cidade | ** endereço é definido como um rua e uma cidade | ||
<br> | <br> | ||
* comentário (*): | * comentário (*): | ||
** Caminhão = @matrícula + marca + carga * características de cada caminhão da empresa * <br> *** matrícula = {digito}5 | ** Caminhão = @matrícula + marca + carga * características de cada caminhão da empresa * <br> *** matrícula = {digito}5 | ||
*** digito = [0-9] | *** digito = [0-9] | ||
*** marca = * possíveis marcas dos caminhões da empresa * | *** marca = * possíveis marcas dos caminhões da empresa * | ||
**** [ “BMW”|“Volvo”|“Mercedes”|“Outros”] | **** [ “BMW”|“Volvo”|“Mercedes”|“Outros”] | ||
*** carga = * quantidade máxima de carga que o caminhão suporta * | *** carga = * quantidade máxima de carga que o caminhão suporta * | ||
**** * unidade: toneladas; intervalo: 10 – 100 * | **** * unidade: toneladas; intervalo: 10 – 100 * | ||
<br> | <br> | ||
= Modelo Entidade-Relacionamento = | = Modelo Entidade-Relacionamento = | ||
Edição das 23h51min de 16 de abril de 2011
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}
- caracter = {caracter-valido}
- filmes = { Filme + (código-sócio) }
- [ ]
- númeroválido = [0-9]
- Classesocial = [A-E]
- |
- sexo = [F | M]
- status = [ativo | inativo]
- titulo = [Sr. | Srta. | Sra. | Dr.]
- situação = [ "alugado" | "disponível" ]
- caracter-valido = [a-z | A-Z | ‘ | | - | .]
- @
- filme = @código-filme + nome + realizador + (atorprincipal) + situação
- 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 = @matrícula + 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 = @matrícula + 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 Orientado a objeto
- Modela objetos:
- pelo encapsulamento dos metadados (estrutura) e métodos (funções)
- Tipo ou Classe de uma 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
- Relacionamento
- 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.
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 chega na chave primária de outra entidade.
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:
a) Funcionário = {Nome + Endereço + Salário + Data-ingresso}
b) Cliente = {Nro-CPF + Nome + Endereço + Data-Nasc}
c) Aluno = {Matrícula + Nome + Sexo + Data-nasc.}
d) Dependente-Funcionário = {Matrícula-Func + Nome-dep + Data-nasc }
e) Benefícios = {Matrícula-Func + CodBeneficio + Data-benef}
f) Notas = {Matrícula + Disciplina + Sem + Notas}
g) Pedido = {NroPedido + Cliente + DataPed + Produto}
h) Conta = {nro-conta + saldo + juro + período}