Baixe o app para aproveitar ainda mais
Prévia do material em texto
BANCO DE DADOS I ORGANIZAÇÃO DE ARQUIVOS Prof. Alberto Tavares da Silva ORGANIZAÇÃO DE ARQUIVOS CHAVE SECUNDÁRIA • A chave secundária pode ser formada por um campo ou pela combinação de campos (SIMPLES / COMPOSTA). É utilizada como parâmetro (filtro) para seleção de registros no arquivo em consultas, emissão de relatórios ou processos de atualização simultânea de um grupo de registros. • Por exemplo, para aumentarmos o valor do salário dos analistas em 10%, poderíamos utilizar o campo FUNÇÃO do arquivo CADASTRO DE FUNCIONÁRIOS como parâmetro (chave secundária) no processo de seleção dos registros a serem alterados. • Em síntese, a chave secundária é o campo ou combinação de campos do arquivo que permite a recuperação de mais de um registro no arquivo. Portanto, não possui a característica de unicidade proposta para a chave primária. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO DE ARQUIVOS CHAVE CANDIDATA • Pode ocorrer uma situação em que mais de um campo satisfaça a condição de chave primária, constituindo duas ou mais CHAVES CANDIDATAS. • Neste caso, o analista deverá eleger somente uma delas como CHAVE PRIMÁRIA, as demais permanecerão na condição de CANDIDATAS, indicando que tratam-se de campos de preenchimento obrigatório e com valores únicos para cada registro, o que será garantido através de mecanismos de integridade de coluna. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO DE ARQUIVOS • Refere-se a forma como os registros são armazenados em um arquivo baseado em computador. • A organização do arquivo determina os métodos de acesso que podem ser utilizados na recuperação dos registros, mas tratam-se de coisas distintas. • Tipos de organização: SEQUENCIAL, SERIAL E INDEXADA, e seus respectivos métodos de acesso. ORGANIZAÇÃO DE ARQUIVOS MÉTODOS DE ACESSO • Para recuperação de um registro em um arquivo, pode-se utilizar acesso SEQUENCIAL ou DIRETO. • Acesso SEQUENCIAL consiste em efetuar a leitura dos registros, um após o outro, comparando o ARGUMENTO DE PESQUISA, com o valor do campo CHAVE no registro corrente, até encontrar os registros desejados ou o final do arquivo. ORGANIZAÇÃO DE ARQUIVOS Acesso Sequencial Arquivo A B C D E F L e r Arq u i v o ... A L e r Arq u i v o B L e r Arq u i v o C ORGANIZAÇÃO DE ARQUIVOS Método DIRETO • Consiste em recuperar o(s) registro(s) desejado(s), sem a necessidade de efetuar a leitura dos registros que o(s) antecede(m), o que pode ser feito através de um ÍNDICE ou com o auxílio de um algoritmo de RANDOMIZAÇÃO que localiza o registro, calculando a posição ocupada pelo registro no disco, com base no valor do argumento de pesquisa, que deve ser um campo numérico. ORGANIZAÇÃO DE ARQUIVOS Acesso Direto Arquivo A B C D E F L e r Arq u i v o , p o s i çã o 2 ... C L e r Arq u i v o , p o s i çã o 4 E L e r Arq u i v o , p o s i çã o 0 A ORGANIZAÇÃO DE ARQUIVOS Acesso Direto ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO SEQUENCIAL • Caracteriza-se pela existência de uma CHAVE DE ORDENAÇÃO. • Essa chave determina a ordem em que os registros são armazenados e pode ser SIMPLES ou COMPOSTA por dois ou mais campos. Geralmente, coincide com a chave primária, mas não obrigatoriamente. • A organização sequencial somente permite o ACESSO SEQUENCIAL. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO SEQUENCIAL • A figura a seguir apresenta um arquivo com ORGANIZAÇÃO SEQUENCIAL e CHAVE PRIMÁRIA (MATRICULA) distinta da CHAVE DE ORDENAÇÃO (NOME - ordem alfabética). ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO SERIAL • Os registros são armazenados de acordo com a ordem de inclusão. • O arquivo não possui chave de ordenação, portanto não existe preocupação com a ordem de armazenamento dos registros. No entanto, é sempre recomendável o arquivo possua uma chave primária. • A organização serial somente permite o ACESSO SEQUENCIAL. • É muito utilizada em processos de inclusão de registros onde não haja preocupação em manter a sequência dos mesmos. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO SERIAL • A figura a seguir apresenta um arquivo com ORGANIZAÇÃO SERIAL. • Note que ele não possui CHAVE DE ORDENAÇÃO. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO INDEXADA • Os registros são armazenados em um arquivo de dados com organização serial e para cada campo (ou combinação deles) através do qual se deseja obter acesso direto (indexado) deve-se criar um arquivo de índice (processo de indexação). • Um mesmo arquivo de dados pode possuir diversos arquivos de índice a ele associados. Porém, apesar da flexibilidade para a criação de índices, esse recurso deve ser utilizado com critério, pois a manutenção de muitos índices pode degradar a performance no processo de atualização do arquivo. Ou seja, ganha-se na consulta on-line, mas pode-se perder na atualização de dados. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO INDEXADA • O arquivo de índice é composto basicamente por duas colunas. • A primeira corresponde ao campo utilizado no processo de indexação (endereço lógico) e a segunda armazena um valor (endereço físico) que serve como referência, para que o gerenciador de arquivos localize o registro no disco magnético. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO INDEXADA • Os registros dos arquivos índice são ordenados pelo endereço lógico. Portanto, se utilizarmos um algoritmo de leitura sequencial em um arquivo indexado por nome, por exemplo, obteremos os registros em ordem alfabética, mesmo sendo o arquivo de dados um arquivo serial. • Sempre que um arquivo índice for referenciado por um programa, ele será carregado para memória principal, o que torna desprezível o tempo de busca dos registros nesse arquivo. Além disso, o algoritmo utilizado na busca é o de pesquisa binária, o que reduz ainda mais o tempo. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO INDEXADA • Os índices constituídos com base no valor da chave primária ou candidata são conhecidos como ÍNDICES PRIMÁRIOS e os demais como ÍNDICES SECUNDÁRIOS. • Em resumo, a organização indexada é formada pela combinação de pelo menos um arquivo de dados e um ou mais arquivos de índice. ORGANIZAÇÃO DE ARQUIVOS ORGANIZAÇÃO INDEXADA BANCO DE DADOS I Projeto Lógico de Bancos de Dados Relacionais Sistema de Banco de Dados 22 Definição do BD (Metadados) BD armazenado Usuários / Programadores Sistema de BD SGBD Consultas / Programas de Aplicação Software para processar consultas / programas Software para acessar dados armazenados Fases do Processo de Projeto de Banco de Dados Projeto do Esquema Conceitual Projeto do Esquema Lógico e de Visões Projeto do Esquema Interno Requisitos de Dados 23 Fase 1: Levantamento e Análise de Requisitos Fase 2: Projeto Conceitual Fase 3: Escolha de SGBD Fase 4: Mapeamento do Modelo de Dados Fase 5: Projeto Físico do BD Estrutura e Conteúdo de Dados Aplicações do Banco de Dados Requisitos de Processamento Projeto das Transações e das Aplicações Frequências e Restrições de Desempenho Fases do Processo de Projeto de Banco de Dados Fase 1: Levantamento e Análise de Requisitos Finalidade: Conhecer e analisar as expectativas dos usuários e as intenções de uso do Banco de Dados. 24 Projeto do Esquema Conceitual Projeto do Esquema Lógico e de Visões Projeto do Esquema Interno Requisitos de Dados Fases do Processo de Projeto deBancos de Dados 25 Fase 1: Levantamento e Análise de Requisitos Fase 2: Projeto Conceitual Fase 3: Escolha de SGBD Fase 4: Mapeamento do Modelo de Dados Fase 5: Projeto Físico do BD Estrutura e Conteúdo de Dados Aplicações do Banco de Dados Requisitos de Processamento Projeto das Transações e das Aplicações Frequências e Restrições de Desempenho • Objetivo: compreensão da estrutura do banco de dados, da semântica e das restrições. • Notação gráfica: MER. Modelo Relacional Esquema Conceitual Percepção abstrata da realidade Percepção da estrutura da realidade regras para estruturar dados estático, invariante no tempo 26 Fase 2: Projeto Conceitual Empregado 0,1 0,N possui Projeto trabalha_em cpf 1,N 1,1 cod título sexo nome Fase 2: Projeto Conceitual nome supervisiona 1,1 1,N Dependente MER Publicação 1,N 1,N Autor escrito_por Assunto pertence_a título Livro d Artigo editor tamanho 1,N 1,1 Periódico publicado_por cod nome nome id pid numero volume 1,1 1,N Fase 2: Projeto Conceitual MER Veículo _Registrado Carro u Caminhão Fase 2: Projeto Conceitual MarcaCam Modelo Peça Fornecedor Projeto fornece 1,1 1,N 1,N MER numeroPlaca Fase 2: Projeto Conceitual MER Exame Médico Paciente atende 1,N 1,N 0,N gera 0,N Fase 2: Projeto Conceitual UML nome Pessoa matricula Aluno carteiraTrabalho Professor nome Disciplina 1..* 1..* leciona ensina possui Projeto do Esquema Conceitual Projeto do Esquema Lógico e de Visões Projeto do Esquema Interno Requisitos de Dados Fases do Processo de Projeto de Bancos de Dados 32 Fase 1: Levantamento e Análise de Requisitos Fase 2: Projeto Conceitual Fase 3: Escolha de SGBD Fase 4: Mapeamento do Modelo de Dados Fase 5: Projeto Físico do BD Estrutura e Conteúdo de Dados Aplicações do Banco de Dados Requisitos de Processamento Projeto das Transações e das Aplicações Frequências e Restrições de Desempenho Fase 3: Escolha de um SGBD Fatores técnicos: • Tipo de SGBD; • Estrutura de armazenamento e caminhos de acesso; • Interfaces para programadores e usuários; • Tipo de linguagem de consulta; • Ferramentas; • Habilidades de conexão com outros SGBD; Fatores não técnicos: • Custos de aquisição, manutenção, etc; • Estrutura de suporte do fornecedor. Projeto do Esquema Conceitual Projeto do Esquema Lógico e de Visões Projeto do Esquema Interno Requisitos de Dados Fases do Processo de Projeto de Bancos de Dados 34 Fase 1: Levantamento e Análise de Requisitos Fase 2: Projeto Conceitual Fase 3: Escolha de SGBD Fase 4: Mapeamento do Modelo de Dados Fase 5: Projeto Físico do BD Estrutura e Conteúdo de Dados Aplicações do Banco de Dados Requisitos de Processamento Projeto das Transações e das Aplicações Frequências e Restrições de Desempenho Uma chave estrangeira CE de uma tabela R1 em R2 ou vice-versa, especifica um relacionamento entre as tabelas R1 e R2. Tabela DEPARTAMENTO Nome Número RG Gerente Contabilidade 1 10101010 Engenharia Civil 2 30303030 Engenharia Mecânica 3 20202020 Tabela EMPREGADO Nome RG CIC Depto. RG Supervisor Salário João Luiz 10101010 11111111 1 NULO 3.000,00 Fernando 20202020 22222222 2 10101010 2.500,00 Ricardo 30303030 33333333 2 10101010 2.300,00 Jorge 40404040 44444444 2 20202020 4.200,00 Renato 50505050 55555555 3 20202020 1.300,00 Chave Estrangeira (FK) 35 Fase 4: : Mapeamento do Modelo de Dados Passo 3: Tipos de Relacionamento Binários 1:1 Empregado 0,1 gerencia cpf numero nome nome 1,1 Departamento Empregado Cpf PK Nome endereco Departamento Numero PK Nome CpfGerente FK endereco Fase 4: : Mapeamento do Modelo de Dados Passo 1: Entidades Passo 2: Entidades Fracas Empregado 0,N possui cpf sexo nome nome 1,1 Dependente Empregado Cpf PK Nome endereco Dependente cpfEmpr FK PK Nome PK sexo endereco Fase 4: : Mapeamento do Modelo de Dados Passo 4: Tipos de Relacionamento Binários 1:N Empregado 1,1 trabalha_em cpf numero nome nome 1,N Departamento Empregado Cpf PK Nome Endereco NumeroDep FK Departamento Numero PK Nome endereco Fase 4: : Mapeamento do Modelo de Dados Passo 5: Tipos de Relacionamento Binários N:M Empregado 1,N trabalha_em cpf numero nome nome 1,N Projeto Empregado Cpf PK Nome Endereco Projeto Numero PK Nome endereco Trabalha_em Cpf FK PK NumeroProj FK PK Horas horas Fase 4: : Mapeamento do Modelo de Dados Passo 6: Atributos Multivalorados numero nome Projeto Projeto Numero PK Nome Localizacao_1 Localizacao_2 localizações Projeto Numero PK Localizacao_1 PK Nome Localizacao NumeroProj FK PK Localizacao PK (1) (2) Fase 4: : Mapeamento do Modelo de Dados Passo 7: Tipos de Relacionamento n-ários Fornecedor Cnpj PK Nome Endereco Projeto Numero PK Nome Fornece codPeca FK PK Cpf FK PK NumeroProj FK PK Peça Fornecedor Projeto fornece 1,1 1,N 1,N Peca Codigo PK Descricao Fase 4: : Mapeamento do Modelo de Dados Aluno matricula Pos_graducao o Graduacao crGraduacao notaVestibular nome Aluno Matricula PK Nome Pos_graduacao Matricula FK PK CrGraduacao Graduacao Matricula FK PK NotaVestibular Pos_graduacao Matricula PK Nome CrGraduacao Graduacao Matricula PK Nome NotaVestibular Aluno Matricula PK Nome CrGraduacao NotaVestibular Tipo (1) (2) (3) Generalização/Especialização Projeto do Esquema Conceitual Projeto do Esquema Lógico e de Visões Projeto do Esquema Interno Requisitos de Dados 43 Fase 1: Levantamento e Análise de Requisitos Fase 2: Projeto Conceitual Fase 3: Escolha de SGBD Fase 4: Mapeamento do Modelo de Dados Fase 5: Projeto Físico do BD Estrutura e Conteúdo de Dados Aplicações do Banco de Dados Requisitos de Processamento Projeto das Transações e das Aplicações Frequências e Restrições de Desempenho Fases do Processo de Projeto de Bancos de Dados Fase 5: Projeto Físico do BD Objetivo: Obter uma estrutura de dados apropriada para aramazenamento a fim de garantir um bom desempenho. 44 Fases do Processo de Projeto de Bancos de Dados A) Análise das consultas e transações no Banco de Dados: • Atributos candidatos para definição de estruturas de acesso – atributos que participam de condições de seleção ou de condições de junção; • Atributos a serem evitados em uma estrutura de acesso – atributos cujos valores serão constantemente atualizados. 45 Fase 5: Projeto Físico do BD Fatores que influenciam o Projeto Físico B) Análise de frequência esperada das chamadas de consutas e transações: • Permite gerar a frequência de uso esperada de cada atributo; • Regra informal “80-20” 46Fase 5: Projeto Físico do BD Fatores que influenciam o Projeto Físico C) Análise das restrições de tempo das consultas e transações. D) Análise das frequências esperadas de operação de atualização. E) Análise de restrições de unicidade de atributos (todas as chaves candidatas). 47 Fase 5: Projeto Físico do BD Fatores que influenciam o Projeto Físico • Os principais produtos do Projeto de Banco de Dados Relacional incluem os projetos lógico e físico. • O resultado da fase do projeto físico é a determinação inicial das estruturas de armazenamento e dos caminhos de acesso para os arquivos do banco de dados. • Concluído o projeto, o banco de dados é implementado, sendo quase sempre necessário modificar o projeto físico em função do desempenho observado, ajuste este denominado de sintonização. 48 Após o Projeto...
Compartilhar