335 Shares 8545 views

A muitos-para-muitos: Um exemplo no Access, no SQL. Como fazer um muitos muitos-para-?

Todos os DBMS (Database Management System) , existem vários tipos de relações entre tabelas. Entre eles um-para-um, um-para-muitos, muitos-para-um (alguns estão inclinados a identificar esses dois tipos em um) e muitos-para-muitos. Um exemplo deste último, e uma explicação de sua aplicação em diferentes bancos de dados, como o Access ou SQL, será discutido neste artigo.

definição

Muitos-para-muitos relação é definida como uma partida para qualquer um dos exemplares de uma das essências de todas as outras instâncias. Em outras palavras, cada campo da primeira (segunda) a tabela associada com todos os campos do segundo (primeiro).

Este esquema reflete claramente a essência dessa relação.

Quando uma relação muitos-para-muitos relacionamentos pode ser usado?

Um exemplo de muitos-para-muitos – um grupo de estudantes e um grupo de professores. Cada aluno aprende ao mesmo tempo em alguns professores, que, por sua vez, dão palestras vários alunos. Na foto mostra a diferença entre um um-para-muitos e muitos-para-muitos.

Muitos-para-muitos relação é muitas vezes necessário na preparação de bases de dados de grande escala, pequenos exemplos ilustrativos tipicamente usados somente para fins educacionais, na realidade, na prática, verifica-se que os mais entidades no banco de dados e mais relações entre eles – quanto mais a probabilidade de recurso frequente à muitos-para-muitos.

Como fazer um muitos muitos-para-?

Exemplos da relação em questão ainda será adicionado ao longo do artigo, mas é importante não só para entender o que é, mas também como implementá-lo. Os detalhes deste processo depende diretamente do banco de dados selecionado para o trabalho, enquanto o princípio permanece o mesmo para todos.

Microsoft Access

software Office a partir de "Microsoft" é conhecida no mercado de software por um longo tempo. Ele vem com um editor de texto Worfd, Excel processador tabular e outro pertencente à linha de "escritório". Você pode acessar (ler como "acesso", a tradução literal – "acesso") para comprar e separado de seus "colegas". Recomenda-se a comprar, é claro, software licenciado, mas não é segredo o quanto repack pirata podem ser encontrados no vasto web, na forma de arquivos regulares, ou torrentes mãos. "Microsoft Acesso" está disponível mesmo em um conjunto portátil. Ele não requer instalação e nenhuma habilidade especial para trabalhar com um PC, é mais adequado para a seleção se o software não será usado de longa duração e frequência.

A partir do contexto, é claro que "Microsoft Acces" – um sistema de gerenciamento de banco de dados. E um dos mais populares. É relacional, o que significa que é baseada na lógica do modelo de dados, que está no curso de seu trabalho refere-se à teoria dos conjuntos e da lógica de primeira ordem. Muitos-para-muitos relação no Access (exemplos será dado na explicação) é realizado muito, muito simples. Considerá-lo.

Há duas mesas de ..

A fim de não inventar nada de novo, tomar o já mencionado para explicar a exemplo de muitos para muitos sobre os alunos. Você deve criar uma tabela "estudantes" ea tabela "Professores". Tanto o primeiro e segundo destes são chaves primárias. também exige outra tabela, quais campos para combinar instâncias das duas entidades – as chaves dos primeiro e segundo tabelas.

Se considerarmos um exemplo diferente: vamos dizer, os jogadores ea equipa (dado o fato de que pelo menos um dos jogadores que jogam em times diferentes, e cada equipe é composta por onze jogadores), está construindo uma conexão não vai mudar. Eles também terão três tabelas. Destes, "Futebol" e "Team", como o principal e um intermediário.

sistema de dados

Relações entre as tabelas no banco de dados "Microsoft Acces" implementado usando a guia "Esquema de dados". O painel de visualização é adicionado a todas as entidades (neste caso, todas as três tabelas). Criar um relacionamento muitos-para-muitos estará usando os dois relacionamentos, um-para-muitos entre o principal ( "estudantes" e "professores") e tabela de preparação. Para fazer isso, você deve interligar as respectivas chaves primárias.

A ilustração acima mostra como o "circuito de dados" do separador (Relathionships). O número de adicionados à placa de mesa indefinidamente. Localização é totalmente ajustável pelo usuário.

SQL

Projeto de banco de dados em SQL – tarefa mais difícil do que a "Acesso". Se o produto maykrosoftovskih está totalmente adaptado para o ambiente de escritório, tem uma enorme e, a cada lançamento e atualizar todas as funcionalidades extensível, mas ao mesmo tempo conveniente para a interface de usuário simples, SQL – é uma língua separada programação não-processual, com a qual em diferentes plataformas você pode trabalhar com bancos de dados. O software bem conhecido para esta tarefa: o Oracle MySQL e DB2 (a popular, mas não é o único de seu tipo). Apesar do fato de que cada um deles tem suas sutilezas e nuances, a linguagem SQL é a sua "unidos". Ao aprender a trabalhar com pelo menos um deles, para lidar com os outros será muito mais fácil.

Criar, preencher e ações diretas sobre o banco de dados existente no SQL necessário, através de um código especial ou scripts. No entanto, aqueles que já ter feito isso para a seção "muitos-para-muitos", um exemplo de que por esta linguagem de programação é apresentado a seguir, deve conhecer pelo menos os comandos básicos e princípios da linguagem SQL.

O princípio da criação de uma relação muitos-para-muitos

adesão prolongada poderia constranger alguns e "libertar o nevoeiro", mas na verdade o princípio da aplicação da comunicação continua a mesma. Para digitar um relacionamento muitos-para-muitos foi implementado na prática, não só no "Acesso", mas também o SQL, precisa criar inicialmente duas tabelas de base e um – intermediários. Da mesma forma, é com a tecla: a natureza básica são os principais campos, cada um dos quais é gravado na tabela de ligação. O que significa que as relações SQL-many-to-many não são fundamentalmente diferentes dos "Acesso".

Implementação de comunicação

Para implementar uma relação muitos-para-muitos em um script SQL usando teclas externas (FOREIGN KEY) semelhante à chave original na tabela principal. Eles gravaram juntos com todos os campos ao criar e / ou edição.

O papel de um número de muitos para

Em geral, a relação entre as entidades do banco de dados utilizado para a integridade das informações armazenadas neles. Apenas uma base de dados bem concebido, com todas as ligações necessárias garante armazenamento seguro, experiência do utilizador e é uma estrutura que é resistente a influências externas e alterações. Geralmente, se o banco de dados contém dados sobre toda a organização, sociedade ou empresa, que contém um conjunto de entidades com diferentes instâncias.

Isto significa que na preparação destes esquemas ( "Acesso") ou escrever scripts (no "Oracle" ou "DiBiTu") estará presente pelo menos um de muitos para muitos. Exemplo SQL, é muitas vezes usado no curso "Organização banco de dados" formação – DB King.

Base de dados dos dados do Rei

O banco de dados de treinamento é a informação sobre King Corporation. Entre as tabelas:

  • funcionários da empresa – contém a identificação do funcionário, último nome, primeiro nome e inicial do meio (foco em nomes estrangeiros), também de código para o patrão eo empregado ocupou o cargo, data de admissão para as empresas que recebem seu salário e comissão prevista, código de departamento;
  • departamentos de corporações – entre os campos da tabela têm o código eo nome do departamento, bem como o código de sua localização;
  • departamentos de colocação, que envolve a inserção de informações sobre a colocação de código e o nome da cidade;
  • posição na empresa – uma pequena mesa com dois campos postar código e seu nome oficial;
  • empresas de compradores – campos: o código eo nome do comprador, endereço, cidade, estado, código postal e código de área, número de telefone, gerente do código de atendimento ao cliente, o crédito para o comprador e Comentários (comentários e notas);
  • contratos de venda, contendo o código ea data do contrato, o código de comprador, data de entrega e a quantidade total do contrato;
  • Atos de vendas – o ato do código e o código do contrato, que inclui o ato, o código do produto, seu preço, quantidade adquirida eo custo total da compra;
  • As mercadorias – o nome de código do produto;
  • preço – o código do produto, anunciou-lhe o preço, o preço mais baixo possível, data de constituição e da data do preço de cancelamento.

Pequena mesa disponíveis em que não mais do que dois ou três campos associados com até uma mesa de um um-para-um ou um-para-muitos.

Escala mesma mesa, como "funcionários da empresa", "empresa-consumidor", "contratos de venda" e "atos de vendas" estão associados com várias entidades, com alguma – com a ajuda de "intermediários" relacionamento muitos-para-muitos. Tabela "compradores da empresa" é em si um intermediário, como tal, porque tem muitos do campo, retirada de outras mesas e uma chave estrangeira. Além disso, a escala ea base de dados relacionamento "King Corporation" é que todas as relações estão intrinsecamente correlacionados entre si e afetam uns aos outros. A destruição de, pelo menos, um deles tem como consequência a destruição da integridade de toda a base de dados.

nuances importantes

Ao implementar uma relação muitos-para-muitos, independentemente de qual sistema de gerenciamento de banco de dados é usado, é importante para determinar as chaves corretas com as quais serão elaborados atitude. Incorretamente implementada a conexão não cumpre a sua finalidade principal – ou seja, para garantir a integridade da tabela, e, como resultado, em vez do conforto esperado, o usuário receberá, por outro lado, os inconvenientes e problemas adicionais, particularmente evidente durante o enchimento de edição de tabelas e seus dados.