To me this seems like you don't need more than 2 tables. List and TaskList.
create table List
(
ListID int identity primary key,
UserID int not null,
ListName varchar(50) not null
)
create table TaskList
(
TaskListID int identity primary key,
ListID int not null,
TaskName varchar(50) not null,
SortOrder int not null
)
Then you just need to create the foreign key to your UserID and ListID.
From what you posted it looked like it was very possibly going to be over-normalized. For example making Task as a lookup table is probably a bit overkill. You might end up with a little duplication but that is probably not a big deal in this case.
_______________________________________________________________
Need help? Help us help you.
Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.
Need to split a string? Try Jeff Modens splitter http://www.sqlservercentral.com/articles/Tally+Table/72993/.
Cross Tabs and Pivots, Part 1 – Converting Rows to Columns - http://www.sqlservercentral.com/articles/T-SQL/63681/
Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs - http://www.sqlservercentral.com/articles/Crosstab/65048/
Understanding and Using APPLY (Part 1) - http://www.sqlservercentral.com/articles/APPLY/69953/
Understanding and Using APPLY (Part 2) - http://www.sqlservercentral.com/articles/APPLY/69954/