⊗ppPmDOLT 381 of 447 menu

Vinculando tabelas em bancos de dados

Suponha que temos uma tabela com os nomes dos usuários e as cidades onde eles moram:

users
id name city
1 user1 city1
2 user2 city1
3 user3 city2
4 user4 city1
5 user5 city3
6 user6 city2

A desvantagem desta tabela é que a mesma cidade se repete várias vezes para diferentes usuários. Isso leva a alguns problemas.

Em primeiro lugar, a repetição constante leva ao fato de que o banco de dados começa a ocupar muito mais espaço.

Em segundo lugar, é bastante inconveniente executar operações com cidades. Por exemplo, queremos exibir na tela uma lista de todas as cidades. Simplesmente não será possível fazer isso de forma fácil. Teremos que obter todos os usuários junto com suas cidades, depois remover as duplicatas das cidades obtidas e só então obteremos essa lista.

E agora imagine que o banco de dados tenha 10000 usuários de 10 cidades - para obter essas 10 cidades, teremos que extrair a tabela inteira com uma enorme quantidade de linhas - resultará em uma operação muito lenta com um desperdício sem sentido de recursos.

Solução para o problema

Precisamos dividir nossa tabela em duas: em uma serão armazenadas as cidades, e na segunda - os usuários. Neste caso, na tabela de usuários haverá uma coluna city_id, que fará referência à cidade do usuário.

Então, vamos criar duas tabelas. A tabela com cidades:

cities
id name
1 city1
2 city2
3 city3

A tabela com usuários:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

Suponha que você precise armazenar produtos (nome, preço, quantidade) e as categorias desses produtos. Descreva a estrutura de armazenamento.

Suponha que você precise armazenar rios e os mares nos quais esses rios deságuam. Descreva a estrutura de armazenamento.

Suponha que você precise armazenar cidades e os países em que elas estão localizadas. Descreva a estrutura de armazenamento.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar