Re: Semi-unable to add new records to table--primary key needed? - Mailing list pgsql-general
From | Boylan, Ross |
---|---|
Subject | Re: Semi-unable to add new records to table--primary key needed? |
Date | |
Msg-id | BYAPR05MB5736EC5DD6F043A5107862AA872F0@BYAPR05MB5736.namprd05.prod.outlook.com Whole thread Raw |
In response to | Re: Semi-unable to add new records to table--primary key needed? (Adrian Klaver <adrian.klaver@aklaver.com>) |
Responses |
Re: Semi-unable to add new records to table--primary key needed?
|
List | pgsql-general |
>From: Adrian Klaver <adrian.klaver@aklaver.com> >Sent: Saturday, December 21, 2019 3:37 PM > This might be easier to figure out if you outline what is going on: Since I seem to have gone on in my responses, let me do one-line answers before the fuller ones. > 1) The purpose of the migration? Primarily to use currently supported software. Secondarily to improve data integrity, security and auditability. > 2) A general sense of what the application is and what it does. A GUI for managing medical specimens and associated information for multiple research studies. >3) Have you looked at the Relations tab in Access to see what if any relationships are there? Yes and yes. The migration program doesn't currently use that information, and there are some complexities. Now the more elaborate answers: > 1) The purpose of the migration? The immediate purpose of the migration is to use software that is supported. The application currently runs on Windows 7,Office 2010 32 bit. As of Jan 14 we have to be off Win 7 because the University says so (because MS said so) and willbe disabling such systems. Office 2010, even now, can't be installed because of licensing. We have to use Win 10, Office2016 (even though 2019 is available). We can do either 32 or 64 bit office and decided to target 64 bit. We currently use Access's split database configuration, meaning the "backend" is a file on a shared drive. Since we had to go to the pain of migrating anyway, this seemed a good time to switch to a server-based backend. Althoughthe Access split configuration has worked, having multiple users touching the same file always makes me uncomfortable,and a real database server would seem to offer better assurances of data integrity, security, and auditability. Since the databases store sensitive medical information, these are concerns not only for us but for our fundersand other oversight bodies. Historically, the requirements have gotten increasingly stringent, and it seems to methere is some possibility that the Access "backend" will fall short of the requirements in the future. Another consideration is that MS is increasingly deemphasizing using Access as a data store. Of course, they want peopleto go to MS SQL Server. When I visited MS's web page for Access 2016 I couldn't find any statement that it could beused without a server-based backed, even though it can. But depending on a feature that's getting so studiously ignoredseems risky. Finally, I had some really bad experiences--that is, lost a day--trying to get queries to work that wouldn't, because MSAccess SQL just isn't quite SQL. I was hoping to avoid that in the future. Because of the time pressure, we'll be sticking with the file-based backend for now. The front-end application (described next) is built on Access and is fairly substantial; migrating it to another platformseems not worth it. > 2) A general sense of what the application is and what it does. The application is a GUI for relatively non-computer-technical users. They run medical research studies, and each time someonecomes in various tests are performed and recorded, and specimens collected. Other health-related information is alsocollected. The core function is the management of biological specimens that result. We also serve as a repository for specimens collected at other sites. There are various types of specimens and various proceduresthat can be performed on each. Researchers then query the database by outlining what kind of specimens they want and getting a list of specimens. Usuallythey do it by asking me, and I do the queries. The actual amount of data is not trivial, but is not that large by current standards. The file-based backends are around20MB (after a compact and repair), and the largest tables have around 100K records. I don't think there's anythingthere that requires us to use 64 bits. The data are very valuable, in that they represent over a decade's work,lots of $ of effort, and without them the physical specimens would be essentially useless. The number of users, esp simultaneous users, is also relatively small, around 10. >3) Have you looked at the Relations tab in Access to see what if any relationships are there? Yes, but the export program doesn't :) The relations tab documents many, but not all, of the relations in the database. The relations are also a little tricky because sometimes the lack of a relation should not be considered disqualifyingfor a specimen. Simple example: freezer type is an id to be looked up in a small table of freezer type idsand their names. If the freezer type is missing or nonsense, we may still want the sample. That can be expressed asa left join; the "Access SQL is not SQL" problems centered on left joins. Ross
pgsql-general by date: