1

Topic: Current Recorder6 data model

Hi,
does anybody have the data model of the current version of Recorder6? That means the definitions of all fields in all tables in Recorder6? I have a documentation by Charles Copp from June 2004. Has the model changed since?
I'm asking because our IT has suggested to move those of my Access databases which link to Recorder to Azure. As far as I understand Azure can't just link to SQL Server as Access can. So the tables have to be set up in Azure again and then filled with the data from SQL Server. For that reason I would need the definition of tables and fields in Recorder6.
Has anybody done something similar and knows more?

Thanks,
Wolfgang
Hampshire Biodiversity Information Centre

2

Re: Current Recorder6 data model

I'm not aware of a more recent version and I think it has changed since then as new functionality and flexibility has been added with new releases.

What don't your IT team give you access to SQL Server Management Studio with permissions to only the NBNData database, then you can query the data directly and can create your own views and extract tables as you wish. Or better still, also create a new empty database (e.g. NBNExtract) and then you can extract the data from the R6 tables into the new database on a regular basis and then run all of your queries on the new extracted data tables which will be a lot easier than navigating the complex R6 data model (and probably a lot easier than setting them all up in Azure).

Andy

Andy Foy
Systems Manager
Greenspace Information for Greater London (GiGL) CIC
www.gigl.org.uk

3

Re: Current Recorder6 data model

Thanks Andy for your post.
I can get access to SQL Management Studio. But I probably would want to run something which Access calls 'Make Table - queries'. And I would rather not put these tables into the Recorder database. I wouldn't know if they were lost if Recorder needs to be re-installed or updated.
Our IT would have problems to give me an empty SQL Server database with admin rights. I then would have to go through a change request procedure whenever I want to do something in even "my" database.  I was also told that unlike Access SQL Server can't link to another SQL-Server database. So the data would have to be copied on a regular basis from Recorder to another SQL database and therefor I need the table and field definitions of the current Recorder6 database.
That's then the reason why our IT suggested to go for Azure. There they don't have problems if I have too much admin rights and I could work without needing change requests. I hope I then can read a table from Azure in ArcGIS using Python.
What is NBNExtract? Does it create a (SQL?) database with simplified data model?

Thanks,
Wolfgang

4

Re: Current Recorder6 data model

It's okay to create tables in the R6 database, just give them clearly distinct names or, better still, put them in a different schema to they are clearly separate. You could also create SQL views instead of 'Make Table' queries which won't bloat the R6 database size. Neither should cause problems with upgrading R6.

SQL Server can't <b>link</b> to other databases, but you can reference another database by including the scheme and object name in the reference (e.g. NBNData.dbo.Taxon_Occurrence). So that would allow you to create SQL views, functions or stored procedures in one that references tables and objects in another database. But if you haven't got your own separate database with admin rights then that's not helpful.

At GiGL, and a few other LERCs that I know of, we have a separate database (called NBNExtract in our case) that contains a stored procedure to extract the database from R6 into one or more local tables (it could even be a single table but using two or three can be more space efficient). The stored procedure can be scheduled to run as frequently as required (or triggered manually) and then we have a set of SQL queries and views that reference the local tables. That stops us needing to add anything to the R6 database and makes it much easier to query the local tables because they have a much simpler data structure than R6. The local tables are also spatially enabled so that we can plot the data straight into GIS as points or polygons. Perhaps your IT would allow you this scenario - once the stored procedure, local tables and SQL views are created you wouldn't need admin rights, only permission to run queries against the tables or views.

As an alternative have you thought of using Python or R to access the R6 database directly instead of Access (or via the local tables as we'll be?

Out of interest, is the data copied into Azure (i.e. would it need to be regularly refreshed) or is it a live link once created? And presumably it would need to be amended in Azure if the R6 database structure is updated in the future?

Andy

Andy Foy
Systems Manager
Greenspace Information for Greater London (GiGL) CIC
www.gigl.org.uk

5

Re: Current Recorder6 data model

At least my experience from Access database is that it is sometimes better to have 'Make Table' queries even if that creates redundant data. So I probably would need that in SQL Server too.
I don't think it is very likely that I get my own SQL Server database with sufficient admin rights. Over the years my extraction of notable species has changed several times. I doubt it that I can set up stored procedures which then can stay over several years.
I'm using ArcPy already and will probably do that until ESRI decides to go for another language. But how can I use SQL in Python? Would the interpretation of SQL commands from Python not need admin rights on the SQL Server database which I will never get?
I've never used Azure so I don't really know the answer. But as far as I understood the data have to be regularly refreshed and the structure has  to be re-engineered when Recorder changes. Not ideal, but possibly the solution with the least interference by our IT people.

Thanks,
Wolfgang
Hampshire Biodiversity Information Centre