Caveat: I haven't used Base to do anything serious with.
I think the normal behavior for a data drop down is to load all values that meet the specs (table, query, raw SQL) and typing then advances the cursor to the next matching value. You may be able to come up with a type ahead lookup by setting up a keyboard event handler attached to a drop down which uses a query to populate itself. (i.e. modify the "where" clause as the user types the name.) Either way, scalability is limited.
The need for a junction table depends entirely on the overall data model. If there is no many-to-many relationship between two models, then a junction table would allow one to construct things that should not be possible.
Base does not allow nullable fields as part of the primary key, but an additional unique constraint can contain nullable fields.
I think the normal behavior for a data drop down is to load all values that meet the specs (table, query, raw SQL) and typing then advances the cursor to the next matching value. You may be able to come up with a type ahead lookup by setting up a keyboard event handler attached to a drop down which uses a query to populate itself. (i.e. modify the "where" clause as the user types the name.) Either way, scalability is limited.
The need for a junction table depends entirely on the overall data model. If there is no many-to-many relationship between two models, then a junction table would allow one to construct things that should not be possible.
Base does not allow nullable fields as part of the primary key, but an additional unique constraint can contain nullable fields.