Hi Aderson,
Thank you for your reply.
Yes good point, that would be the 'Modules' table, my query is below. I suppose I should try using it on some other DNN databases and see if they all have records with a null PortalID. 
I tried clearing out the deleted modules, so it's not that, in any case the IsDeleted field is set to 0, which I can only assume mean their not.
I can't find the modules that appear in the results on the site though. That could be because I've just missed them, but I did have a pretty thorough check.
If I take the moduleid one of the modules in the results from the Modules query below and use it in a where clause in the TabModules table (407 in this case) I found the tabid for that module. I then used the tabid from the the tabs table (71 in my case as shown below.) That shows a tab record where the IsDeleted field is set to 1. I can also see the tab name, which I couldn't find in my menu or in the page management system. So I think the records are perhaps left there from a failed delete or something, but it's just a guess.
I emptied the recycle bin by the way.
There's no tool around to clean up the database I suppose? Otherwise, I think they can be ignored.
Best Regards,
Steve
/*********************
Modules table query
**********************/
SELECT TOP 1000 [ModuleID]
      ,[ModuleDefID]
      ,[AllTabs]
      ,[IsDeleted]
      ,[InheritViewPermissions]
      ,[StartDate]
      ,[EndDate]
      ,[PortalID]
      ,[CreatedByUserID]
      ,[CreatedOnDate]
      ,[LastModifiedByUserID]
      ,[LastModifiedOnDate]
      ,[LastContentModifiedOnDate]
      ,[ContentItemID]
      ,[IsShareable]
      ,[IsShareableViewOnly]
  FROM [dnn8].[dbo].[Modules]
  where portalid is null
/*********************
TabModules table query
**********************/
SELECT TOP 1000 [TabModuleID]
      ,[TabID]
      ,[ModuleID]
      ,[PaneName]
      ,[ModuleOrder]
      ,[CacheTime]
      ,[Alignment]
      ,[Color]
      ,[Border]
      ,[IconFile]
      ,[Visibility]
      ,[ContainerSrc]
      ,[DisplayTitle]
      ,[DisplayPrint]
      ,[DisplaySyndicate]
      ,[IsWebSlice]
      ,[WebSliceTitle]
      ,[WebSliceExpiryDate]
      ,[WebSliceTTL]
      ,[CreatedByUserID]
      ,[CreatedOnDate]
      ,[LastModifiedByUserID]
      ,[LastModifiedOnDate]
      ,[IsDeleted]
      ,[CacheMethod]
      ,[ModuleTitle]
      ,[Header]
      ,[Footer]
      ,[CultureCode]
      ,[UniqueId]
      ,[VersionGuid]
      ,[DefaultLanguageGuid]
      ,[LocalizedVersionGuid]
  FROM [dnn8].[dbo].[TabModules]
  where moduleid = 407
/***************************
Tabs table query
*************************/
/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 1000 [TabID]
      ,[TabOrder]
      ,[PortalID]
      ,[TabName]
      ,[IsVisible]
      ,[ParentId]
      ,[IconFile]
      ,[DisableLink]
      ,[Title]
      ,[Description]
      ,[KeyWords]
      ,[IsDeleted]
      ,[Url]
      ,[SkinSrc]
      ,[ContainerSrc]
      ,[StartDate]
      ,[EndDate]
      ,[RefreshInterval]
      ,[PageHeadText]
      ,[IsSecure]
      ,[PermanentRedirect]
      ,[SiteMapPriority]
      ,[CreatedByUserID]
      ,[CreatedOnDate]
      ,[LastModifiedByUserID]
      ,[LastModifiedOnDate]
      ,[IconFileLarge]
      ,[CultureCode]
      ,[ContentItemID]
      ,[UniqueId]
      ,[VersionGuid]
      ,[DefaultLanguageGuid]
      ,[LocalizedVersionGuid]
      ,[Level]
      ,[TabPath]
      ,[HasBeenPublished]
      ,[IsSystem]
  FROM [dnn8].[dbo].[Tabs]
  where tabid = 71