realiza projeto do sistema; prepara testes define regras do negócio usuárioanalista de sistemas...
TRANSCRIPT
Realiza projeto do Sistema; Prepara testes
Define regras do negócio
Usuário Analista de Sistemas
Banco de dados
DBAProjeto Lógico/Físico BD
Projeto Conceitual/ Lógico BD
Projetista
Prepara projeto do BDDefine restrições e solução lógica
Atores do Processo
4
5
5
3
21
ANALISTA
Mini-mundo
ModeloLógico
Modelo Físico
ModeloConceitual
Banco de Dados
Realidade
4
Mundo Real
Modelo Conceitual(modelo abstrato dos dados)
Independente do modelo de dados
Independente do SGBD
Modelo Lógico(estrutura dos dados)
Dependente do modelo de dados
Independente do SGBD
Relacional Orientado a Objetos
Objeto-relacional
Modelo Físico Dependente do
modelo de dados Dependente do SGBD
Organisação física dos dados Estruturas de armazenamento de dados Índices de acesso
Médico PacienteConsulta
CRM nome
Médico (CRM, Nome)
Sistema Médico
5
*Modelos de Dados (conceitual)*Entidade-Relacionamento (ER)*Orientado a Objetos (OO)
*Modelos de Dados (lógicos)*Redes*Hierárquico *Relacional*Objeto-relacional*Orientado a Objetos
Modelos mais antigos
=> modelo abstrato que descreve a estrutura de um BD de forma independente de um SGBD particular (restrições impostas por tecnologias, técnicas de implementação ou dispositivos físicos)
*primeira etapa do projeto de um sistema de aplicação em banco de dados
*utilizado para entendimento, transmissão, validação de conceitos, mapeamento do ambiente, diálogo entre usuários e desenvolvedores
AUTOR LIVROescreveN
INFANTIL ADULTO
N
Modelo Entidade-Relacionamento
*Os objetos, suas características e relacionamentos têm uma representação de acordo com as regras de implementação e limitações impostas por algum tipo de tecnologia
*Relacional, Orientada a Objetos, Objeto-Relacional
*Resulta da aplicação de regras de derivação sobre um modelo conceitual
*Nível mais restrito aos desenvolvedores
*descreve as estruturas que estarão contidas no banco de dados, de acordo com as possibilidades permitidas pela abordagem, sem considerar características de armazenamento do SGBD
*é dependente do TIPO/MODELO de dados particular do SGBD que será usado
*Exemplo: Tabela/Relação -> Modelo RelacionalIdentidade Nome Telefone
23470981 Flávio Câmara 21 2386754310876457 Lúcio Maia 81 65439878
65438945 Ana Furtado 83 2256756
19876589 Joana Marques 83 2478976
*partirá do lógico e descreverá as estruturas físicas de armazenamento de dados (tamanho de campos, índices, métodos de acesso do SGBD, etc)*Linguagens e Notações dependem do SGBD*Pode ser necessário o conhecimento do modo físico de implementação das estruturas de dados
*Os objetivos dos modelos são:
*Comunicação com clientes
*pode-se mostrar ao cliente, através de um produto de demonstração, parte ou todo o comportamento externo de um sistema
*Os objetivos dos modelos são:*Visualização:*permite visualizar idéias antes de torná-las concretas
*Redução da complexidade: *os modelos reduzem a complexidade dividindo-a em um pequeno número de coisas importantes a serem tratadas de cada vez
*Representar um ambiente observado*O significado da informação
*Servir de instrumento para comunicação*Favorecer o processo de verificação e validação
*Capturar aspectos de relacionamento entre os objetos observados*Servir de referencial para a geração de estruturas de dados*Estabelecer conceitos únicos a partir de visões diversas
*Histórico:*1976, Peter P. Chen publicou: “The Entity-Relationship Model: Toward the unified view of data”
*Base: Teoria Relacional (Codd, 1970)
*É um modelo de dados conceitual de alto nível, projetado para estar o mais próximo possível da visão que o usuário tem dos dados, não se preocupando em representar como estes dados estarão realmente armazenados.
*É utilizado principalmente durante o processo de projeto de banco de dados
Identifica e modela entidades e relacionamentos, permitindo a especificação de um esquema que represente a estrutura lógica geral do Banco de Dados;
Produz um diagrama fácil de ser entendido pelo usuário final;
ENTIDADE 1 ENTIDADE 2Relacio-namento
Atributo 1
Atributo 2
*ENTIDADES - Representa qualquer “coisa” (concreta ou abstrata) sobre o qual se deseja manter informações.
Ex: Empregado, empresa, consulta, embarque
•São representadas graficamente por um retângulo!
EmbarqueEmpregado
AlunoPessoa Professor
Material Animal Mamífero
Ave Meio de Transporte
Transporte Aéreo
*Entidade *Pode ser interpretada como uma tabela de dados, onde cada linha representa uma instância
*são características, valores descritos, propriedades ou dados associados a uma entidade ou relacionamento. Ex: são atributos da entidade Pessoa: nome, endereço, telefone, ...
*Para cada atributo há um conjunto de valores permissíveis (domínio)
Placa Marca Chassi Proprietário Fabricante AnoJHK-3456 Gol 3KG00324MH9 José Batista Volkswagen 2001MSN-3289 Fiesta 5GH00845MH
8Carla Maia Ford 2002
JHG-5634 Meriva 7JK00887MH8 Ana Gomes Chevrolet 2002
Entidade: Automóvel
Identidade Nome Endereço Telefone Estatura Peso
123567-PB José Batista Dias Rocha, 345 228 9876 1,87 84
675439-CE Maria Costa Beira Mar, 245 246 7854 1,65 60754398-PE Caio Silva Boa Viagem, 234 226 2378 1,70 68
Entidade: Cliente
*Fato ou acontecimento que liga dois objetos existentes no mundo real*são relações ou associações existentes entre entidades*Obs: Verbos expressam fatos
*Pessoa possui automóvel*Professor ensina aluno*Pessoa mora em apartamento*Francisco é casado com Maria*Marcos passeia em um barco*Carla pilota avião*Documento pertence a processo
*Generalização:* Resultado da união de dois ou mais conjuntos de entidades de nível mais baixo produzindo um conjunto de entidades de nível mais alto
*Especialização:* Resultado da separação de um subconjunto de entidades de nível mais alto, formando um conjunto de entidades de nível mais baixo
CLIENTE
PESSOA FÍSICA
PESSOA JURÍDICA
Generalização
Especialização
*Herança de Propriedades*Cada instância da entidade especializada possui, além de suas próprias propriedades, também as propriedades da instância da entidade genérica correspondente*Atributos*Relacionamentos*Generalizações ou especializações
*Herança de Propriedades
CLIENTE
PESSOA FÍSICA
PESSOA JURÍDICA
nomecódigo
RG sexo CGC Tipo de organização
*Total - Para cada instância da entidade genérica, existe sempre uma instância em uma das entidades especializadas
CLIENTE
PESSOA FÍSICA
PESSOA JURÍDICA
t Todo cliente deve ser pessoa física ou jurídica
*Parcial - Nem toda ocorrência da entidade genérica possui correspondente em entidade especializada
FUNCIONÁRIO
MOTORISTA SECRETÁRIA
ptipo
Pode existir funcionário que
não seja motorista nem
secretária
Não há limites no número de níveis hierárquicos
No entanto, atenção quanto ao número de níveis.
37
Os dados e relacionamentos são representados por registros e ligações, respectivamente.
Os registros são organizados como coleções arbitrárias de árvores.
José Figueiras Campinas
900 55
João Laranjeiras Campinas
556 1.000
Antônio Ipê São Paulo
647 5.366
801 10.533647 5.366
*Grau ou CardinalidadeCaracterizam o número mínimo e máximo de instâncias de cada entidade que podem estar associadas através do relacionamento
*Grau ou Cardinalidade
A BR
1. Com quantos elementos de B se relaciona cada um dos elementos de A?2. Dado um elemento de B, com quantos elementos de A ele se relaciona?
*Relacionamento de Um-para-Um (1:1)
PESSOA CERTIDÃODE ÓBITOrecebe
1 1
*Relacionamento de Um-para-Muitos (1:N)
EMPRESA FILIALpossui1 N
onde N = 0, 1 ou mais
*Relacionamento de Muitos-para-Muitos (M:N) ou (N:N)
ATLETA ESPORTEpraticaM N
43
*Gerenciador de arquivos*Gerenciador do banco de dados*Processador de consultas*Pré-compilador da DML*Compilador da DDL*Arquivos de dados*Dicionário de dados*Índices
44
*Dicionários de Dados*Listagem de todos os dados do sistema*Não é um diagrama...
*Fornece uma definição precisa para requisitos*Representam dados de*Entrada de processos*Saída de processos*Componentes de depósitos
*Dicionário de dados define*Significado dos fluxos e depósitos*Descrevem a estrutura de dados compostos
*Porquê?*Tornar formal a notação utilizada em DFD*Dando significado a valores de fluxos e depósitos
*Define regras para valores válidos e inválidos
*Notação de dicionário de dados* = *É composto de
*+*e
*()*Opcional
*{ }*Repetição
*[ ] *Escolha de uma dentre muitas alternativas
****Comentário
*@* Identificador de chave primária
*| *Separador de alternativas na construção [ ]
nome = cortesia + primeiro-nome + (nome-intermediario) + ultimo-nomecortesia = [Sr | Sra | Srs | Sras | Msc. | PhD]primeiro-nome = {caractere-válido}nome-intermediario = primeiro-nomeultimo-nome=primeiro-nomecaractere-valido=[A-Z | a-z | - ]