Opa Darley…
qdo vc for mapear o banco de dados, vc verá, como vc disse, que um cliente deve possuir um projeto.
nesse caso, vc tem um relacionamento 1:1 entre as tabelas Clientes-Projeto.
Entçao, para não haver erro de persistência, segundo a 1a. regra de mapeamento de banco de dados, vc deverá criar em uma das tabelas um valor que seja refereência para outra tabela. o que chamamos de Chave Estrangeira (Foreign Key).
- Ent~çao, digamos que a tabela Cliente tem um atributo ‘Id_Cliente’, que é a chave primária desta classe;
- Vc vai criar tb a tabela Projeto, que terá um ‘Id_Projeto’, que é a chave primária dela.
- dentro de projeto, vc irá criar um atributo ‘Id_Cliente’ (ou outro nome q cvc escolher), e vai dizer que esta chave recebe um valor que tem que se relativo ao valor da chave Id_Cliente da tabela Clientes.
Para fazer isso no SQL, seria assim, mais ou menos:
Classe Cliente
CREATE TABLE Cliente (
Id_Cliente INT,
... //outros atributos
Primary Key (Id_Cliente))
Classe Projeto
CREATE TABLE Projeto(
Id_Projeto INT,
...//outros atributos
Id_Cliente INT,
Primary Key (Id_Projeto),
Foreign Key (Id_Cliente) REFERENCES Cliente(Id_Cliente)
)
Espero que tenha dado pra entender…
Abraço