I have an application that requires a database and I have already setup tables but not sure if they match the requirements of the app. The app is a crawler which fetches web urls, crawls and stores appropriate urls and posts and all this is based on client requests which are stored as projects. So for each url stored there is one post and for client there are many projects and for each project there are many types of requests. So we get a client with a request and assign them a project name and then use the request to search for content and store the url and post. A request could already exist and should not be duplicated but should be associated with the right client and project and post etc. Here is my schema now:
url table: urlId PK queryId FK url
post table: postId PK urlId FK post date
request table: queryId PK request
client table: clientId PK client Name projectId FK
project table: projectID PK queryID FK project
Does this look right? or does anyone have suggestions. Of course my stored procedures and insert statements will have to be in depth.
Here is the issue I am coming up with. If a project already exists but has a different queryId how do I allow for projects with multiple requests?