I want to create database which allow me to store IT job offers from various websites. While creating ER diagram I started wondering if I really need an id column in one particular table. Look at this situation below:

- Every job offer has a title and a source website. It happens quite often that job offers from the same website have the same title so in order to distinguish them somehow I created column
job_idwhich makes each offer (row in table) unique. - Job offers sometimes contain information about required additional
Tech_skill. For these I made a separate table. As with job offers, their names are often repeated. And this is where the main thread comes in: unlike in case of job offers, I think I don't need to store everyTech_skill namebecause if I did this they would repeat. Instead, I think I can add only unique ones (those that haven't appeared yet) to myTech_skilltable so that there wouldn't be repetition. And if I needed to associate job offer with one or several skills then I'd use linking table (many to many relationship).
So if I were to inserting non-repeating skill names into a Tech_skill table would I need to create an id column?