¿Como asignar correctamente la clave foranea?

Tengo un poco de lio con este tema me han pedido que haga una entidad relación entre 3 tablas, la tabla usuarios, la tabla ventas y la tabla noticias, un usuario puede crear muchas ventas y muchas noticias, es decir que será una relación de 1 a muchos entre usuarios y las otras dos tablas. El problema que tengo ahora es que no se muy bien como colocar la clave foránea de forma correcta. Necesito utilizar el nombre del usuario para colocarlo como autor de noticias y ventas que ha creado. Pero nose como unirlo si mediante un id desde la tabla de usuarios que haga referencia a ventas y a noticias, o debo colocar el nombre de usuario como clave foránea?

dejo por aqui las tablas que tengo hechas:

Tabla usuarios    

(PK)+id - bigint(20)
+name - varchar(255)
+surname - varchar(255)
+email - varchar(255)
+created_at - timestamp
+updated_at - timestamp

Tabla ventas

(PK)+id - bigint(20)
+titulo - varchar(255)
+autor - varchar(255) --> esto es lo que me gustaría enlazar con usuarios
+precio - int(11)
+nombre_vendedor - varchar(255)
+contacto_vendedor - varchar(255)
+detail - text
+image - varchar(255)
+created_at - timestamp
+updated_at - timestamp

Tabla noticias

(PK)+id - bigint(20)
+titulo -  varchar(255)
+autor - varchar(255) --> esto es lo que me gustaría enlazar con usuarios
+detail - text
+image - varchar(255)
+created_at - timestamp
+updated_at - timestamp

Alguna idea?? Gracias!!!