Gostaria de um auxilio para conseguir gerar o banco abaixo vou mandar a descrição total para melhor entendimento e embaixo a maneira como estou fazendo.
Um banco de dados tem um conjunto de tabelas que representa um cadastro de regiões geográficas. As regiões podem ser categorizada por Continente, Pais, Região, Estado (Província), cidades, etc…
Elas estão dividídas em 3 tabelas:
Regiao
TipoRegiao
GrupoRegiao
Na tabela Regiao temos as seguintes colunas:
IDRegiao int
Nome char(50)
IDTipoRegiao int
Ela representa o cadastro da região. Um nome de continente(Europa), ou um Pais(Brasil) ou um estado (Miami), por exemplo
Na tabela TipoRegiao:
IDTipoRegiao int
Nome char(50)
Contém a tipificação da Região. Ela tem relacionamento com a tabela Região
Na tabela GrupoRegiao:
IDGrupoRegiao int
IDRegiaoPai int
IDRegiaoFilho int
Essa tabela relaciona as regiões. Com isso, é possivel determinar quais os paises de um continente ou quais os estados de um pais. Para manter essa relação, temos duas colunas(IDRegiaoPai e IDRegiaoFilho). Cada uma desse colunas tem relação com a tabela Região. Dessa forma, a região de ID 7 (Europa) está relacionada com a região de ID 18 (United Kingdom – Reino Unido).
Para entender com as tabelas funcionam, façam os select abaixo
select * from TipoRegiaoEssa tabela mostra os tipo de região. Veja de Continente é o codigo 1 e Pais o código 2.
select * from regiaoEssa tabela tem a relação das regiões. Se voce filrar somente as regiões do tipo região igual a 1
select * from regiao where idTipoRegiao = 1Veja que é apresentado os nome das regiões Continentes. Nessa caso, a Europa é o codigo 7.
Select * from regiao where idTipoRegiao = 2 order by idRegiaoEssa select filtra somente as regiões que são paises. Veja que o pais United Kingdom é o numero 18.
Select * from GrupoRegiaoEssa tabela mantém a relação entre as regiões. No caso, entendemos que a região de nome Europa contém a região de nome United Kingdom.
Então essas duas regiões estão dentro dessa tabela. Faça o select abaixo
Select * from GrupoRegiao where iDRegiaoPai = 7Veja que para mostra o id da regiao pai de codigo 7 que significa Europa, ele mostrou o id da regiao filho de codigo 18 que significa United Kingdom.
Agora vamos usar o codigo 18 para filtrar da tabela GrupoRegiao, quem são os codigo filhos.
Select * from GrupoRegiao where iDRegiaoPai = 18O que foi apresentado são todos os estados da regiao 18 que é o United Kingdom. O select abaixo mostra quais os nomes dos estados da região 18.
select * from regiao where idregiao in( 496 , 387, 349 , 436)Com essas tabelas e o banco criado conforme link acima, voce tem que desenvolver UM comando SELECT que apresente os seguintes dados:
7 Europa 18 United Kingdom UK 496 England
7 Europa 18 United Kingdom UK 387 Northern Ireland
7 Europa 18 United Kingdom UK 349 Scotland
7 Europa 18 United Kingdom UK 436 Wales
Essa é a relação dos estados/provincias do pais United Kingdom (Reino Unido) que está no Continente Europa.
Estou fazendo da seguinte maneira, porem não consigo o nome do continente com o nome do pais
select * from Regiao
join GrupoRegiao
on Regiao.idRegiao = GrupoRegiao.idRegiaoPai
join TipoRegiao
on Regiao.idRegiao = GrupoRegiao.idRegiaoPai
where idRegiao = 7 and idRegiaoPai = 18
Pergunta
Vanessa Mendes da Silva
Boa Noite!
Gostaria de um auxilio para conseguir gerar o banco abaixo vou mandar a descrição total para melhor entendimento e embaixo a maneira como estou fazendo.
Segue:
Executar o script de criação do banco de dados no link http://umcdb2.wordpress.com/2010/11/26/cri...anco-de-regioes
Um banco de dados tem um conjunto de tabelas que representa um cadastro de regiões geográficas. As regiões podem ser categorizada por Continente, Pais, Região, Estado (Província), cidades, etc…
Elas estão dividídas em 3 tabelas:
Regiao
TipoRegiao
GrupoRegiao
Na tabela Regiao temos as seguintes colunas:
IDRegiao int
Nome char(50)
IDTipoRegiao int
Ela representa o cadastro da região. Um nome de continente(Europa), ou um Pais(Brasil) ou um estado (Miami), por exemplo
Na tabela TipoRegiao:
IDTipoRegiao int
Nome char(50)
Contém a tipificação da Região. Ela tem relacionamento com a tabela Região
Na tabela GrupoRegiao:
IDGrupoRegiao int
IDRegiaoPai int
IDRegiaoFilho int
Essa tabela relaciona as regiões. Com isso, é possivel determinar quais os paises de um continente ou quais os estados de um pais. Para manter essa relação, temos duas colunas(IDRegiaoPai e IDRegiaoFilho). Cada uma desse colunas tem relação com a tabela Região. Dessa forma, a região de ID 7 (Europa) está relacionada com a região de ID 18 (United Kingdom – Reino Unido).
Para entender com as tabelas funcionam, façam os select abaixo
select * from TipoRegiaoEssa tabela mostra os tipo de região. Veja de Continente é o codigo 1 e Pais o código 2.
select * from regiaoEssa tabela tem a relação das regiões. Se voce filrar somente as regiões do tipo região igual a 1
select * from regiao where idTipoRegiao = 1Veja que é apresentado os nome das regiões Continentes. Nessa caso, a Europa é o codigo 7.
Select * from regiao where idTipoRegiao = 2 order by idRegiaoEssa select filtra somente as regiões que são paises. Veja que o pais United Kingdom é o numero 18.
Select * from GrupoRegiaoEssa tabela mantém a relação entre as regiões. No caso, entendemos que a região de nome Europa contém a região de nome United Kingdom.
Então essas duas regiões estão dentro dessa tabela. Faça o select abaixo
Select * from GrupoRegiao where iDRegiaoPai = 7Veja que para mostra o id da regiao pai de codigo 7 que significa Europa, ele mostrou o id da regiao filho de codigo 18 que significa United Kingdom.
Agora vamos usar o codigo 18 para filtrar da tabela GrupoRegiao, quem são os codigo filhos.
Select * from GrupoRegiao where iDRegiaoPai = 18O que foi apresentado são todos os estados da regiao 18 que é o United Kingdom. O select abaixo mostra quais os nomes dos estados da região 18.
select * from regiao where idregiao in( 496 , 387, 349 , 436)Com essas tabelas e o banco criado conforme link acima, voce tem que desenvolver UM comando SELECT que apresente os seguintes dados:
7 Europa 18 United Kingdom UK 496 England
7 Europa 18 United Kingdom UK 387 Northern Ireland
7 Europa 18 United Kingdom UK 349 Scotland
7 Europa 18 United Kingdom UK 436 Wales
Essa é a relação dos estados/provincias do pais United Kingdom (Reino Unido) que está no Continente Europa.
Estou fazendo da seguinte maneira, porem não consigo o nome do continente com o nome do pais
Se alguém puder me ajudar..
Obrigada!!
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.