Let's suppose 2 users try to populate the data with the same set, then the person who started first should be able to populate the data into the database but the other person (who started seconds later) will see constraint failing error.

How the tool identified from where the sequence will start to generate the data and keep referential integrity?

If the table is empty, then we can use RangeGen to start the sequence from 1 and populate the data.

If your table has data, and you want to generate the data from the max(PrimaryKeySequence) onwards, then you can use QueryOnceGen to get maximum id +1 from <tableName> and use that in RangeGen to start from (Linked Generators). And to maintain referential integrity you can add DelimitedFileReceiver to the Domain to save the Id that's also going into the database, and then use ListCSVGen to read ID at scenario level in Parent Domain for Referential Integrity.