Modelagem de banco de dados para uma entidade fraca

Eu tenho 2 tabelas no meu banco de dadosorders eorderHistory.

 -----------------                    -----------------------
 |  orders       |                    |  orderHistory       |
 -----------------                    -----------------------
 | orderID  (PK) |                    | historyLineID  (PK) |
 | orderDate     |                    | status              |
 | price         |                    | quantity            |
 -----------------                    -----------------------

Agora umorder pode ter múltiploshistory lines. No entanto, umhistory line não pode existir sozinho. Eu ouvi isso é chamado de uma entidade fraca e, portanto, oPK deorders deve fazer parte doPK de mesaorderHistory.

Questões

Isso é realmente correto?entidade fraca relação? Existem outras maneiras de identificá-los?Devo adicionar oPK de mesaorder para mesaorderHistory e torná-lo uma chave primária composta?Caso eu decida adicionar um novo registroorderHistory, como adicionarei uma nova chave composta? (orderID está disponível na tabelaorders, mashistoryLineID deve ser incrementado automaticamente.)E se eu decidir modelar isso como umUm para muitos relacionamento ondeorderID é adicionado como uma chave estrangeira em vez de? Quais são os contras de fazê-lo?Irá ignorar as entidades fracas de alguma forma causar algum problema mais tarde em um projeto desde que todas as tabelas estejam na 3ª forma normal?

Nota

AmbosorderID & historyLineID são chaves substitutas. Desde já, obrigado.

questionAnswers(2)

yourAnswerToTheQuestion