Det som jag tycker är konstigt med din modell är tabellen anteckningar som jag inte förstår vad du skall ha till.
Med den information som du har givit så skulle jag lägga upp det så här
Tre bastabeller
project,person, company
Fyra kopplingstabeller
projectmember -- vilka deltar i projekt innehåller även vilken uppgift (säljare, utvecklare etc)
-- samma person kan förekomma flera gånger med olika uppgifter
employee -- anställda
contact -- kontaktpersoner
participant -- företag som deltar i ett projekt
create table project(id int identity, name varchar(30), budget integer,notes varchar(300),startDate date,endDate date,primary key(id),unique(name))
create table person(id int,firstName varchar(30), lastName varchar(30), phoneNumber char(10),primary key(id))
create table company(id int,name varchar(30),adress varchar(50),primary key(id),unique (name))
create table projectMember (projectId int,personId int, task varchar(20), primary key(projectid,personid,position), foreign key(projectid) references project(id), foreign key(personId) references person(id),check(task in ('Developer', Salesperson',ProjectLeader')))
create table employee(companyid int, personid int, hireDate date,primary key(companyid,personid),
foreign key(companyid) references company(id),foreign key(personId) references person(id))
create table contact(companyid int, personid int, primary key(companyid,personid),
foreign key(companyid) references company(id),foreign key(personId) references person(id))
create table participant(companyid int, projectid int, primary key(companyid,project),
foreign key(companyid) references company(id),foreign key(personId) references person(id))
------------------
essentitia preter non sans multiplicandum