Ir ao conteúdo

SQL Server como criar uma um banco de dados dentro de outro ou uma tabela dentro de outra


Ir à solução Resolvido por DiF,

Posts recomendados

Postado

# não vou por codigo por que não adianta muito por códigos que não funciona nada...
# como criar uma um banco de dados dentro de outro ou uma tabela dentro de outra
# queria fazer um esquema de pasta de usuarios e datas : Usuarios --> Dracula --> 2023 --> Janeiro... Fevereiro

 

aa

 

// como um sistema de pastas

  • Moderador
  • Solução
Postado

@IzeraXD Não há como fazer isso.  O banco de dados, seja qual for,  Mysql, Firebird, SQL server.. quaquer um.. não é assim que funciona.

Eles possuem uma estrutura relacional.

 

No caso, você quer fazer um esquema de usuários de datas.

Então você vai modelar o banco de dados respeitando as normas formais, 1NF e 2NF pelo menos, para evitar inconsistencias de dados.

 

Basicamente a estrutura que você vai precisar é algo assim:

Tabela Usuario

campos:  ID, nomeUsuario

 

Tabela Ano

campos: ID,  ano

 

Tabela Mes

Campos: ID, mes.

 

Tabela Dados

Campos: ID, IDusuario, IDano, IDmes

 

Isso que chamamos de MOdelo Entidade Relacional ou "ER"

 

spacer.png

 

Citação

 

EDIT:

CORREÇÃO DO TIPO DE CAMPO DESCRITO NO MODELO:

Campo usuarioano  e mes são do tipo  VARCHAR

Quando fiz o modelo, foi automático como "char" e eu esqueci de alterar

 

 

Onde quando for inserir os dados na tabela ficará desta forma:

 

Tabela usuario:

ID     usuario   | 
----+------------+
1   |   Fulano   | 
2   |   Beltrano |
3   |   Ciclano  |

Tabela ano:

ID     ano       | 
----+------------+
1   |   2020     | 
2   |   2021     |
3   |   2022     |
4   |   2023     |

Tabela mes:

ID       mes      | 
----+-------------+
1   |   Janeiro   | 
2   |   Fevereiro |
3   |   Março     |
4   |   Abril     |
5   |   Maio      |
6   |   Junho     |
7   |   Julho     |
8   |   Agosto    |
9   |   Setembro  |
10  |   Outubro   |
11  |   Novembro  |
12  |   Dezembro  |

Tabela Dados

ID  | usuario_id |  ano_id | mes_id |   
----+------------+---------+--------+
1   |     1      |    4    |    1   |
2   |     1      |    4    |    2   | 
3   |     1      |    4    |    3   |
4   |     2      |    3    |    5   |

 

Repare que a tabela "Dados"  é uma tabela relacional, que engloba as outras 3 tabelas, onde é a tabela que vai comandar as consultas... dizemos que esta tabela é uma N:N  

 

Então basicamente, esta tabela só recebe os valores IDs de chave primária de cada tabela...  como você pode ver no diagrama mais acima, onde diz PK é primary key(chave primária),  e onde diz  FK, é foreign key(chave estrangeira)

 

Para fazer a consulta neste tipo de tabela como está populada acima... você fará algo como:


 

SELECT usuario.usuario, ano.ano, mes.mes
FROM Dados
INNER JOIN usuario ON usuario.ID  = Dados.usuario_id
INNER JOIN ano ON ano.ID  = Dados.ano_id
INNER JOIN mes ON mes.ID  = Dados.mes_id

 

Retornando assim:

 

usuario  |  ano  |    mes    |
---------+-------+-----------+
Fulano   |  2023 | Janeiro   | 
Fulano   |  2023 | Fevereiro |
Fulano   |  2023 | Março     |
Beltrano |  2022 | Maio      |

 

Daí com estes dados.. talvez você possa criar uma interface via HTML, CSS e Javascript, para se parecer com estrutura de pastas.

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...