You seem to be having a lot of troubles because you're down in the weeds, throwing things at the wall. But it's not really that hard if you step back and look at it from a higher level.
The concept of interest here are declarations vs. definitions. It's unfortunate they have such similar names: it's easy to get them confused.
Think of a definition like your house, and a declaration like the address of your house. You only have one of your house, but you can hand out your address to lots of different people. Your address tells people how to get to your house, but it isn't actually your house.
Similarly in C, a definition of a function is the actual implementation of the function, and the declaration of the function describes how to call the function.
A declaration looks like this:
void printAllRecords(struct record *);
(note, no body of the function, just the way it's called) and a definition looks like:
void printAllRecords(struct record *record)
{
...do some stuff...
}
(note, now you have the body of the function)
You normally put the declaration in a header file. Then anyone who wants to call your function will #include that header file, so that they know the right way to call it.
But you don't want to #include the definition of a function (for example, by #includeing the source file) because that would mean you have two implementations of the same function, and that's not possible just like there can't be two of your house.
So, in short:
Put definitions of functions into source files
Put declarations of functions into header files
You should #include the header file containing the declaration in the source file containing the definition, so the compiler will complain if they don't match
And finally, if you want to call the function from some other source file, #include the header file containing the declaration in that source file too
In your case, all the functions defined in database.c should have declarations in database.h, then any other source file (like user_interface.c) should #include "database.h" to see those declarations.