• Advertisement

Archived

This topic is now archived and is closed to further replies.

Admin reports on a MySQL DB (What should be tracked)?

This topic is 5032 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I''m new to MySQL (Picked MySQL on some good advice i received here). I am about to design an Admin front end to the DB. This will be done using JSP.(I an new to JSP also though I have been programming for years so I''m not completely ignorant). So i need some advice from some old heads on good Database practices and what is possible and necessary for a functional admin front-end. I know the main thing i need to implement is to add/remove users from the database from the Admin page. Basically the DB is going to be holding users data. Which they update their data daily through a client, which connects to a servlet. They will view their data using another JSP page called users. This is all simple and handled already. I think some useful functionality would be to track the amount of updates to the Database and who updated. Also how many people have connected to and view their data each day. Is there anything else that might be a good/useful feature to try implement. Brian Tracking who has updated there data and when. Who has

Share this post


Link to post
Share on other sites
Advertisement
I don''t think you should remove users at all, maybe just keep them active or not. The ones that are not active would be invisible even to the administrator (so you could even put the button "remove" instead of the button "Change Active" or something) and whenever someone wanted to add another user with any of the same collums that cannot be repeated (such as the username) of one that already existed but was in passive mode, he would ask if you wanted to turn him active again.

I think you already refered the part of including the date when any table was changed/created and the person that did that so...

... no more ideas.

Share this post


Link to post
Share on other sites
Hi Oscar,

Why would you not remove the person fromt he DB when they finished with the Service??

No other User will have any dependancy on another user so dont understand why you would hide them rather than remove them.
This would keep the DB cleaner would it not??

W

Share this post


Link to post
Share on other sites
You are right that the database would be cleaner. But it also allows you do have a better security in many aspects:

Let''s pretend you will store the employees of a store in your database.

For some reason you fire a person after 2 months and you delete her from the BD. 2 years later for whatever reason you want to get her information back and you haven''t already thrown away everything concerning her. How would you do it then?

If that''s a program you intend to sell, I would most certainly include it then. I work in a company where we design DBs for a very strick part of the market. We work with clients, users, admins, etc. We nearly never remove anything from the database. We even keep the locations where the clients live! We simply turn them to passive whenever the user presses "delete" and then whenever he wants to add a new client with that same location we change it back to active. Back when we did not have that system, a lot of clients complained because of that, especially because if something goes wrong with the database like this, we always have a way of returning things to normal (even if the logs are deleted).

Let''s pretend you delete a user and by mistake. Imagine all the things you would have lost! for example how many hours the user has worked for the past year or something...

I don''t know exactly what you intend to do with your database, but it seems a good idea to always keep the "bigger" things in the database, you never know when you are going to need them again.

Share this post


Link to post
Share on other sites
That is a good idea.
It could be very easy to delete a user by mistake.

I''ll adopt your idea.

The DB will hold users daily values.
And these values will be displayed and graphed for the user so they can track progress over a period of months.

How do you handle when a user enters an outlier?

Should a script be written to run through the DB and check to see if a value is say 300% above the Median value of that field and then ignored or maybe reset to the median value so it will not have any effect.

As this can really obscure a graph.
What is good practice to handle obviously erroneous data?

Share this post


Link to post
Share on other sites

  • Advertisement