I have the same take on this as Karl. Table 1 is related one-to-may to Table
2 on index number. The relationship between Table 2 and Table 3, however,
should be on memonumber by adding a memonumber foreign key column to Table 2
and deleting the index number column form Table 3. You can then reference
the same row in table 3 from as many rows in Table 2 as you wish.
There is another possible scenario, however; that the relationship between
Table 2 and table 3 is in fact many-to-many, i.e. each subjectname can be
the subject of one or more memos and each memo can relate to one or more
subjectnames. If this were to be the case the you would need another table,
Table 2.5, to model the many-to-many relationship. This would have two
foreign key columns, subjectname and memonumber referencing the primary keys
of the other two tables. The primary key of Table 2.5 would be a composite
one made up of the subjectname and memonumber columns as these will, in
combination, have unique values. In this scenario Table 2 is unchanged but
the indexnumber column in Table 3 can be deleted.
As regards Karl's other point about the memokeywords column. I share his
concern regarding this as I suspect that this column contains a data
structure; it may not look much like one but that's what a list of values is.
If so you need to put these values in a separate table, Table 4, with one
keyword per row. The keyword column should contain unique values and thus
can be defined as the primary key. I'd suspect that the relationship with
table 3 is again many-to-many, i.e. each memo can have one or more keywords
and each keyword can relate to one or more memos. In this case you'd need a
Table 3.5 with foreign key columns keyword and memonumber to model the
many-to-many relationship in the same way as above.