Álgebra relacional em bancos de dados: operações, exemplos

Índice:

Álgebra relacional em bancos de dados: operações, exemplos
Álgebra relacional em bancos de dados: operações, exemplos
Anonim

Geralmente, os sistemas de banco de dados são equipados com uma linguagem de consulta que pode ajudar seus usuários a consultar instâncias. Existem dois tipos - álgebra relacional e cálculo relacional. A primeira é uma linguagem de consulta procedural que usa instâncias de relacionamento como entrada e gera relacionamentos de exemplo como saída. Usa cálculo unário ou binário para isso. A álgebra relacional é executada recursivamente e os resultados intermediários são tratados como relações.

Álgebra relacional
Álgebra relacional

produto cartesiano (Χ)

Combina informações de dois relacionamentos diferentes em um.

Notação – r Χ s, onde r e s são razões e sua saída será definida como

r Χ s={qt | q ∈ r e t ∈ s}.

Conclusão. Define uma relação que mostra todos os livros e artigos escritos com o tutorial.

Renomear operação (ρ).

A relação da álgebra relacional são os resultados, mas sem nenhum nome. A operação de renomeação permite alterar o valor de saída, indicado pela pequena letra grega ρ.

Designação – ρ x (E), onde o resultado da expressão E é armazenado com o nomex.

Operações adicionais:

  • conjunto de interseção;
  • tarefa;
  • conexão natural.

Cálculo Relacional

Esta é uma linguagem de consulta não procedimental, o que significa que ela informa o que fazer, mas não explica como implementá-la. O cálculo relacional existe em duas formas:

  • cálculo de correlação de uma tupla;
  • filtrando intervalos de variáveis.

Notação - T/Estado: Retorna todas as T tuplas que satisfazem uma condição. Resultado. Retorna tuplas com um nome. O TRC pode ser quantificado. Você pode usar quantificadores existenciais (∃) e universais (∀). Conclusão. A consulta acima dará o mesmo resultado que a anterior.

Cálculo relacional de domínio DRC

A variável de filtro usa o atributo domain em vez de valores inteiros de tupla (como feito no TRC mencionado acima).

Notação – {a 1, a 2, a 3, …, a | P (um 1, um 2, um 3, …, um)}, onde a1, a2 são atributos e P denota fórmulas construídas com valores internos.

Conclusão. Define o artigo, a página e o tópico da relação TutorialsPoint, onde o assunto é o banco de dados.

Como TRC, DRC também pode ser escrito usando quantificadores existenciais e universais. DRC também inclui operadores de álgebra relacional. A força da expressão de cálculo, cálculo e correlação de relações entre pontos é equivalente.

relacionalmodelo de dados de álgebra relacional
relacionalmodelo de dados de álgebra relacional

Variações e esquemas de cálculo relacional e álgebra

O modelo ER, quando conceituado em diagramas, fornece uma boa visão geral dos relacionamentos essenciais que são mais fáceis de entender. As representações esquemáticas podem ser mapeadas para um esquema relacional, ou seja, podem ser criadas umas com as outras. Não é possível importar todas as restrições de ER para um modelo relacional, mas uma estrutura aproximada pode ser gerada. Existem vários processos e algoritmos disponíveis para converter gráficos para este sistema. Alguns deles são automatizados, enquanto outros são criados manualmente. Os gráficos ER consistem principalmente nos seguintes critérios:

  • entidade e seus atributos;
  • link, que é uma associação entre os valores acima.

A comparação de objetos e relações ocorre de diferentes formas e esquemas. Por exemplo, uma entidade é um objeto do mundo real com alguns atributos. O processo de correspondência, o algoritmo é o seguinte:

  • crie uma tabela para cada objeto;
  • atributos devem se tornar campos de tabela com os tipos de dados correspondentes;
  • declare uma chave primária.

Um relacionamento é uma associação entre entidades. O processo de compilação é o seguinte:

  • criar uma tabela para relações;
  • adicione chaves primárias de todas as entidades participantes como campos de tabela com tipos de dados apropriados;
  • se a relação tiver algum atributo, defina cada atributo como campo de tabela;
  • combina a chave primária que compõe tudoo resto para objetos participantes;
  • especifique todas as restrições de chave estrangeira.

A exibição de conjuntos fracos e objetos hierárquicos ocorre de acordo com um determinado sistema. Em primeiro lugar, é necessário compreender os fundamentos e definições essenciais desses valores. Um conjunto de recursos fraco é aquele que não possui nenhuma chave primária associada a ele. O processo de exibição é o seguinte:

  • crie uma tabela para um conjunto fraco de objetos;
  • adiciona todos os atributos ao esquema como um campo;
  • especifique a chave primária para identificação;
  • defina todas as restrições de chave estrangeira.

A exibição de objetos hierárquicos baseados na especialização ou generalização da linguagem da álgebra relacional ocorre na forma de entidades sequenciais. O algoritmo é o seguinte:

  • criar tabelas para todos os objetos de nível inferior;
  • adicionar chaves primárias;
  • em um nível baixo implemente todos os outros atributos de objetos de nível inferior;
  • declare as chaves primárias da tabela;
  • defina restrições de chave estrangeira.
Operações de Álgebra Relacional
Operações de Álgebra Relacional

Opções existentes para descrever, armazenar, alterar informações

SQL é uma linguagem de programação para bancos de dados relacionais. É desenvolvido sobre álgebra e cálculo de correlação de tuplas. SQL vem como um pacote com todas as principais distribuições de DBMS. Contém dados e linguagens para manipulá-los. Usando propriedades de definição de dados SQL de álgebra relacional, você pode projetar e modificar o esquema do banco de dados,enquanto as propriedades de gerenciamento e ajuste, bem como as alterações de dados, permitem armazenar e recuperar informações instaladas no sistema. Usa o seguinte conjunto de comandos para definir a estrutura e o sistema:

  • cria novos bancos de dados, tabelas e visualizações a partir de um DBMS.
  • joga comandos.
  • muda o esquema do banco de dados.
  • este comando adiciona um atributo a um objeto string.

SQL está equipado com uma linguagem de manipulação de dados (DML). Ele modifica a instância do banco de dados inserindo, atualizando e excluindo informações. DML é responsável por alterar todos os dados. SQL contém o seguinte conjunto de comandos na seção DML:

  1. SELECT é um dos comandos básicos de consulta. É análogo à operação de projeção da álgebra relacional. Ele seleciona atributos com base na condição descrita na cláusula WHERE.
  2. FROM - Esta seção recebe um nome como argumento a partir do qual os atributos devem ser selecionados/projetados. Caso seja dado mais de um nome, este item corresponde ao produto cartesiano.
  3. WHERE - Esta seção especifica o predicado ou condições que devem ser atendidas para qualificar o atributo projetado.

Também existem comandos:

  • inserir;
  • alterando valores;
  • excluir.
Álgebra relacional em bancos de dados
Álgebra relacional em bancos de dados

Criação de consultas de álgebra relacional

Ao construir uma pesquisa, a tarefa é encontrar uma estrutura de operações que leve à saída correta. As operações básicas da álgebra relacional são simplesoperações com uma ou duas relações como operandos. Os efeitos combinados da sequência determinam o resultado final. Como o sistema de álgebra relacional em banco de dados é bastante simples, muitos resultados intermediários podem ser obtidos antes de chegar à saída final, eles também são usados como operandos que produzem novos dados recebidos.

Para a maioria dos operadores, a ordem das consultas e sua execução não importa, o que significa que a mesma saída pode ser obtida moldando e combinando dados intermediários de maneiras diferentes. Na prática, as pesquisas de banco de dados são bastante fáceis. O sistema para realizar operações e resultados intermediários é determinado pelo otimizador de consultas. Ao formar perguntas, requisitos, você precisa

primeiro escolher quais relacionamentos são necessários para obter uma resposta e, em seguida, especificar operações e resultados intermediários. A estrutura de uma consulta de álgebra relacional em um banco de dados de resultados pode ser representada como um diagrama. Os otimizadores de requisitos tentam organizar a execução da maneira mais eficiente possível. Na prática, isso geralmente significa que eles tentam minimizar os resultados intermediários o mais rápido possível. Exemplos comuns de álgebra relacional ajudarão nisso.

Exemplo 1.

Necessidade de informações: Informações sobre veículos do ano modelo 1996 onde foram encontradas deficiências durante a inspeção de 1999.

Primeiro, são exibidas informações sobre os carros para entender os valores de todos os atributos do relacionamento. As informações sobre as inspeções são armazenadas na tabela "Inspeção" e, se detectadasfalhas, elas são registradas na tabela "Problema". Assim, essas três tabelas são necessárias para obter as informações necessárias.

Apenas os carros de 1996 são interessantes. A gama de modelos do veículo é representada como o valor do atributo set na linha da tabela de informações do veículo. O primeiro resultado intermediário consiste em tuplas representando as variantes de 1996.

Então, apenas as linhas que cobrem esse período são necessárias. Você precisa usar uma seleção para extraí-los. Agora há carros e inspeções que eram necessárias. As strings são então concatenadas usando a operação de concatenação. Eles devem ser unidos por um número de registro comum, pois é a única coluna comum, uma junção natural é usada.

Para descobrir se houve problemas durante as verificações, você precisa associar as linhas de problema à verificação. Depois de conectar as linhas de controle aos carros, você pode conectar esse resultado à tabela de falhas. A afiliação deve ser baseada no número de registro comum e na data de verificação. Essas são as únicas colunas comuns nas tabelas, então uma junção natural é usada.

A álgebra relacional é uma linguagem
A álgebra relacional é uma linguagem

Opções de cálculo sem resultados intermediários

Exemplo 2.

Informações obrigatórias: Nome do motorista para o ano de modelo 1995 ou veículos mais antigos que não foram testados em 2000. O nome está na tabela "Driver". As agências de aplicação da lei são descritas na tabela "Inspeção e carros em um carro cantina". entãoAssim, essas três tabelas são necessárias. Primeiro, você precisa descobrir os carros que não foram inspecionados no ano 2000. Não é possível resolver este problema utilizando apenas as inspeções listadas na tabela, pois ela contém dados sobre as inspeções que foram realizadas e não sobre as que não foram implementadas. Este problema é resolvido procurando carros complementares que sejam verificados antes do ano 2000. Na verdade, são necessários apenas seus números de registro.

Existem outros exemplos além dos acima que mostram como alterar ou encontrar informações. As variantes de consulta podem ser otimizadas usando operações especiais. Na verdade, para tornar a pesquisa e a localização de dados o mais fácil e simples possível, existe um modelo de cálculo relacional.

Onde as informações são seguras e protegidas

O modelo de dados relacionais da álgebra relacional é armazenado em formatos de arquivo contendo registros. No nível físico, as informações reais são fixadas em um formato eletromagnético em algum dispositivo. Esses dispositivos de armazenamento podem ser divididos em três categorias:

  1. Primário. Esta categoria inclui memória que é diretamente acessível à CPU. Registros, memória rápida (cache) e memória principal (RAM) são acessíveis diretamente à central, pois estão todos localizados na placa-mãe ou chipset. Esse armazenamento geralmente é muito pequeno, ultrarrápido e instável. Uma fonte de alimentação constante é necessária para manter o estado. Se falhar, todos os seus dados serão perdidos.
  2. Secundário. Usado para armazenar informações para o futurouso ou backup. Inclui dispositivos de memória que não fazem parte do chipset do processador ou da placa-mãe, como discos magnéticos, discos ópticos (DVDs, CDs, etc.), discos rígidos, pen drives e fitas magnéticas.
  3. Terciário. Usado para armazenar grandes quantidades de dados. Como esses dispositivos de armazenamento são externos ao sistema do computador, eles são os mais lentos em termos de velocidade. Esses dispositivos de armazenamento são usados principalmente para fazer backup de todo o sistema. Discos ópticos e fitas magnéticas são amplamente utilizados como armazenamento terciário.

Operações especiais de álgebra relacional são importantes para a eficiência da consulta.

Estrutura de armazenamento

O sistema de computador tem uma hierarquia de memória bem definida. A CPU tem acesso direto ao sistema principal, bem como aos registradores embutidos. O tempo de acesso à memória principal é obviamente menor que a velocidade do processador. Para minimizar essa discrepância, um cache é introduzido. O cache fornece os tempos de acesso mais rápidos e contém os dados que são acessados com mais frequência pela CPU.

A memória com acesso mais rápido é a mais cara. Grandes dispositivos de armazenamento oferecem pouca velocidade e são mais baratos, mas podem armazenar grandes quantidades de dados em comparação com um registrador ou cache de processador.

Os discos rígidos e magnéticos são os dispositivos de armazenamento secundário mais comuns nos sistemas de computadores atuais. São chamados de magnéticosbase metálica. Esses discos são colocados verticalmente no eixo. A cabeça de leitura/gravação move-se entre eles e é usada para magnetizar ou remover tal ponto por baixo. Pode ser reconhecido como 0 (zero) ou 1 (um).

Os discos rígidos são formatados em uma ordem bem definida para armazenamento de dados eficiente. Tem muitos círculos concêntricos chamados caminhos. Cada trilha é dividida em setores, normalmente armazenando 512 bytes de dados.

álgebra relacional SQL
álgebra relacional SQL

Operações de arquivo

As operações no sistema de linguagem de álgebra relacional e seu banco de dados podem ser amplamente classificadas em duas categorias:

  • atualização;
  • pesquisa.

A primeira categoria altera os valores dos dados inserindo, excluindo ou atualizando. Por outro lado, as operações de pesquisa não editam informações, mas as extraem após filtragem condicional opcional. Em ambos os tipos de operações, a seleção desempenha um papel significativo. Além de criar e deletar um arquivo, pode haver várias operações que podem ser realizadas neles:

  1. Open - existe em um dos dois modos de leitura ou gravação. No primeiro caso, o sistema operacional não permite que ninguém altere os dados. Em outras palavras, os dados são apenas lidos. Os arquivos abertos no modo de leitura podem ser compartilhados entre vários objetos. O modo de gravação permite alterar os dados. Os arquivos podem ser lidos, mas não podem ser compartilhados.
  2. Fechar é a operação mais importante do ponto de vista do sistema operacional, pois remove todos os bloqueios(se estiver no modo compartilhado), salva os dados (se modificados) na mídia secundária e libera todos os buffers e manipuladores associados ao arquivo.
  3. Indexação é um método de estrutura de informação para extração eficiente de registros dos arquivos de um sistema com base em alguns atributos onde o sistema foi implementado. Definido com base em atributos.

A indexação pode ser do seguinte tipo:

  1. Primary é definido no arquivo de dados ordenados. O arquivo de informações é organizado no campo chave.
  2. Índice secundário gerado a partir de um campo que é uma chave candidata e possui um valor único em cada registro ou não uma chave com valores duplicados.
  3. Clustering é definido em um arquivo de dados ordenado, em um campo não chave.
álgebra relacional cálculo relacional
álgebra relacional cálculo relacional

Um sistema de gerenciamento de banco de dados ou DBMS refere-se a uma tecnologia para armazenar e recuperar informações do usuário com máxima eficiência, juntamente com medidas de segurança apropriadas. Um exame mais aprofundado dessa questão leva à conclusão de que a álgebra relacional é uma linguagem de operadores que toma as relações como argumentos e as retorna como resultado.

Recomendado: