Strong Entities and Weak Entities are not Relational Database ideas. They are more abstract data modeling ideas than can be implemented in a Relational Database, or a Document Database, or an OO object model, etc.
When you implement Weak Entities in a Relational Database the most correct (if not the most common) pattern is for the Weak Entity's primary key to include the Strong Entity's primary key columns as the leading columns in its primary key. EG
create table SalesOrder(Id int primary key,...)
create table SalesOrderDetail
(
SalesOrderId int not null references SalesOrder,
Id int not null,
primary key pk_SalesOrderDetail(SalesOrderId, Id),
...
)
In practice you often see
create table SalesOrder(Id int primary key,...)
create table SalesOrderDetail
(
Id int primary key,
SalesOrderId int references SalesOrder,
...
)
Which is just wrong and sloppy, but can be made right with
create table SalesOrder(Id int primary key,...)
create table SalesOrderDetail
(
Id int primary key,
SalesOrderId int not null references SalesOrder,
index ix_SalesOrderDetail_SalesOrder (SalesOrderId),
...
)
By which point you can see that it's easy to make mistakes with this pattern, and it requires two indexes instead of just one.