Duvida SQL Cadastro
Postado Um minuto atras
create table tb_clientes(
idcliente integer primary key,
nome varchar not null,
cpf varchar not null unique,
---o char(1) not null,
nascimento date not null,
idade integer not null,
rg varchar not null unique,
datacadastro date not null,
email varchar not null unique,
idendereco integer not null,
idtelefone integer not null
)
create table tb_enderecos(
idendereco integer primary key,
rua varchar not null,
numero integer ,
complemento varchar,
bairro varchar not null,
cep integer not null,
idcidade integer
)
create table tb_cidades(
idcidade integer primary key,
nome varchar not null,
uf char(2) not null
)
create table tb_estados(
uf char(2) primary key,
nome varchar
)
create table tb_telefones(
idtelefone integer primary key,
numero varchar not null,
tipo varchar
)
1-Gostaria de saber se esta "modelagem" está correta
2-Como faço a consulta da quantidade de pessoas por cidade
create table tb_clientes(
idcliente integer primary key,
nome varchar not null,
cpf varchar not null unique,
---o char(1) not null,
nascimento date not null,
idade integer not null,
rg varchar not null unique,
datacadastro date not null,
email varchar not null unique,
idendereco integer not null,
idtelefone integer not null
)
create table tb_enderecos(
idendereco integer primary key,
rua varchar not null,
numero integer ,
complemento varchar,
bairro varchar not null,
cep integer not null,
idcidade integer
)
create table tb_cidades(
idcidade integer primary key,
nome varchar not null,
uf char(2) not null
)
create table tb_estados(
uf char(2) primary key,
nome varchar
)
create table tb_telefones(
idtelefone integer primary key,
numero varchar not null,
tipo varchar
)
1-Gostaria de saber se esta "modelagem" está correta
2-Como faço a consulta da quantidade de pessoas por cidade
Daniel Santos
Curtidas 0
Respostas
Mariana Carvalho
11/12/2014
Para modelagem vc teria que mostrar o Diagrama de entidade relacionamento.
Sobre o select, vc quer mostrar os dados ou numeros de dados cadastrados?
Sobre o select, vc quer mostrar os dados ou numeros de dados cadastrados?
GOSTEI 0
Daniel Santos
11/12/2014
quantidade de pessoas de cada cidade
GOSTEI 0
Ronaldo Lanhellas
11/12/2014
Postado Um minuto atras
create table tb_clientes(
idcliente integer primary key,
nome varchar not null,
cpf varchar not null unique,
---o char(1) not null,
nascimento date not null,
idade integer not null,
rg varchar not null unique,
datacadastro date not null,
email varchar not null unique,
idendereco integer not null,
idtelefone integer not null
)
create table tb_enderecos(
idendereco integer primary key,
rua varchar not null,
numero integer ,
complemento varchar,
bairro varchar not null,
cep integer not null,
idcidade integer
)
create table tb_cidades(
idcidade integer primary key,
nome varchar not null,
uf char(2) not null
)
create table tb_estados(
uf char(2) primary key,
nome varchar
)
create table tb_telefones(
idtelefone integer primary key,
numero varchar not null,
tipo varchar
)
1-Gostaria de saber se esta "modelagem" está correta
2-Como faço a consulta da quantidade de pessoas por cidade
create table tb_clientes(
idcliente integer primary key,
nome varchar not null,
cpf varchar not null unique,
---o char(1) not null,
nascimento date not null,
idade integer not null,
rg varchar not null unique,
datacadastro date not null,
email varchar not null unique,
idendereco integer not null,
idtelefone integer not null
)
create table tb_enderecos(
idendereco integer primary key,
rua varchar not null,
numero integer ,
complemento varchar,
bairro varchar not null,
cep integer not null,
idcidade integer
)
create table tb_cidades(
idcidade integer primary key,
nome varchar not null,
uf char(2) not null
)
create table tb_estados(
uf char(2) primary key,
nome varchar
)
create table tb_telefones(
idtelefone integer primary key,
numero varchar not null,
tipo varchar
)
1-Gostaria de saber se esta "modelagem" está correta
2-Como faço a consulta da quantidade de pessoas por cidade
Respondendo a sua segunda pergunta, você pode usar o GROUP BY em conjunto com o JOIN:
select ci.id, ci.nome, count(*) as quantidade_clientes from tb_clientes c join tb_enderecos e on c.idendereco = e.idendereco join tb_cidades ci on e.idcidade = ci.idcidade group by ci.id, ci.nome
GOSTEI 0
Marisiana Battistella
11/12/2014
Sobre a modelagem, você apenas possibilitou o cadastro de uma pessoa física. Não acha que tem que permitir o cadastro de uma pessoa jurídica também?
Quanto ao select, o Ronaldo apresentou um exemplo, mas eu não recomendo o uso de count(*), é sempre melhor utilizar o nome do campo que será contado.
Quanto ao select, o Ronaldo apresentou um exemplo, mas eu não recomendo o uso de count(*), é sempre melhor utilizar o nome do campo que será contado.
select ci.id, ci.nome, count(c.idcliente) as quantidade_clientes from tb_clientes c join tb_enderecos e on c.idendereco = e.idendereco join tb_cidades ci on e.idcidade = ci.idcidade group by ci.id, ci.nome
GOSTEI 0
Marisiana Battistella
11/12/2014
Daniel, conseguistes encontrar a solução?
GOSTEI 0