Armazenar várias identificações empregado em uma coluna de dados
-
09-09-2019 - |
Pergunta
aplicativo Web está sendo escrito em ASP clássico com um backend MSSQL. Nesta página particular, o administrador pode selecionar 1 ou qualquer / todos os funcionários para atribuir o projeto a. Eu estou tentando descobrir uma maneira simples para armazenar os IDs dos funcionários das pessoas que lhe são atribuídas em uma coluna.
A lista de funcionários é gerada de outra tabela e pode ser dinâmico (disparando ou contratação) assim que eu quero que o programa seja suficientemente flexível para a mudança com base nestas alterações da tabela.
Basicamente precisa saber como atribuir várias pessoas para um projeto que pode mais tarde ser chamado em uma página differen ou a partir de uma consulta diferente.
Sorry para a questão n00bish, mas graças!
Solução
Você precisa criar outra tabela que armazena esses valores como. Portanto, esta nova tabela seria armazenar uma linha para cada ID, e depois ligar de volta para o registro original com a registros RG original.
Outras dicas
Não guarde múltipla ID do em uma coluna! Criar outra tabela com a chave primária da sua tabela existente e um único ID que você deseja armazenar. Em seguida, pode inserir várias linhas para esta nova tabela, a criação de uma mistura 1: m (um para muitos) relacionamento. olhar Por exemplo, vamos em uma mesa ordem:
order:
order_id
order_date
e eu tenho uma tabela de produtos ...
product:
product_id
product_name
Agora, você poderia ir para baixo a estrada de adicionar uma coluna a fim de que permitem que você listar os produtos na ordem, mas isso seria má forma. O que você quer em vez é algo como ..
order_item:
order_item_id
order_id
product_id
quantity
unit_price
Você pode então executar uma junção de obter todos os produtos para uma ordem particular ...
select
product.*
from orders
inner join order_item on order_item.order_id = order.order_id
inner join product on product.product_id = order_item.product_id
where orders.order_id = 5
Aqui está um exemplo order_id de 5, e isso vai obter todos os produtos nessa ordem.