Author: Jeffrey Edison
Over the past 25 years, Jeffrey has worked in various roles in financial services software, with a focus on transaction banking and automation with artificial intelligence methods. He has extensive knowledge and expertise in financial payments, combating financial crime, and virtual account management. His experience spans various disciplines ranging from architecture and design to product management and sales.
How to Keep Track of What the Users Do
In several of the projects we have worked on, customers have asked us to log more user actions in the database. They want to know all of the actions the users perform in the application, but capturing and recording all human interactions can be challenging. We had to log all modifications of data performed via the system. This article describes some of the pitfalls we encountered and the approaches that we used to overcome them.
Adding More Advanced Features Like Managing Categories and Voting on Threads and Posts
In my second article about an online forum, I mentioned that there might be several more advanced features to be added:
Forum categories and sub-categories where each category has a subject, several moderators and additional information like creation date of the category. A post might have a subject in addition to the content. We might want to allow users to vote up and vote down on threads and posts.
Database Design: More Than Just an ERD
Database design is the process of producing a detailed model of a database. The start of data modelling is to grasp the business area and functionality being developed.
Before Modeling: Talk to the Business People This is a key principle in information technology. We must remember that we provide a service and must deliver value to the business. In data modeling that means solving a business problem from the data-side such that the required data is available in a responsive and secure way.
Making a More Advanced Model With User, Thread, and Post Statuses
In my first article about an online forum, I mentioned that there might be several more advanced features to add:
More formal details about the user instead of a single “name” field. You may want the user’s first name, last name and username or nickname. A nice forum would also allow users to have a profile picture, email, roles, status (to allow users to be blocked), and other information like when they last visited the forum.
Spider Schema – a Bridge Between OLTP and OLAP?
Introduction As I mentioned in my article “OLAP for OLTP practitioners”, I am working on a project that needs to create an analytical database for on-line analytical processing (OLAP). I have mostly worked with on-line transaction processing (OLTP) with some limited reporting features. OLAP is a new area for me. In OLAP, the main focus of the database itself is simply to store data for analysis; there is limited maintenance of data.
A Database Model for an Online Survey. Part 4
In this final article in a four-part series, I complete the design for an online survey database to provide flexibility for multiple surveys, question re-use, multiple choice answers, ordering of questions, conditional jumps in the survey based on responses, and control over the users’ access to surveys via groups of survey owners.
Introduction In the conclusion to Part 3 of this series of articles, I mentioned that I would be adding more advanced features in this article.
OLAP for OLTP Practitioners
I am currently working on a project where we need to create a database that will be primarily used to store data for reporting and forecasting. In the past, I have mostly worked with databases used for typical CRUD (create, retrieve, update, and delete) operations of data with some limited reporting features. When performing CRUD operations, normalization is important; while in analytics, a de-normalized structure is generally preferred.
Basing Database Models in Reality: A Blogger’s Challenge
When writing a blog post on database modeling, you must be prepared that your abstract model doesn’t meet the needs of most readers. The reason is simple. Real-life database models are usually created in close relation to specific business and development requirements while the blog models are not.
For the last few weeks, I have been writing blog posts about creating database models. Topics ranged from a general approach to database modeling through a simple online forum to a model for a more complex online survey.
A Database Model for an Online Survey. Part 3
In the conclusion to Part 2 of this series of articles, I mentioned that I would be adding more advanced features, such as:
Conditional ordering of questions in a survey or, in other words, the possibility for a conditional path through the survey Administration of the survey Reports and analytics In this third article related to an online survey, I will extend the functionality to support conditional ordering of questions.
A Database Model for an Online Survey. Part 2
In part 1 of this article series, we discussed a basic design for an online survey. In the conclusion to that article, I mentioned part 2 would cover more advanced features for our survey such as: Different types of questions such as multiple choice questions Conditional order of questions in a survey or, in other words, the possibility for a conditional path through the survey Administration of the surveys Reports and analytics Let’s start by extending the functionality to support different types of questions.