Are you a student or a beginning data modeler who wants to learn more about data modeling? Let’s start learning with the conceptual data model – the least detailed of the three models. In this article, we’ll discuss the conceptual data model using some real-world examples. As you know, data modeling is the process of describing real-world data – its relationships, features, and attributes – in a structured document like an ER (entity-relationship) diagram.
Integrated transport is something we often hear about on the internet or in the news. While it’s not something new, it’s definitely an ongoing process, with constant changes being implemented. Today, we’ll take a look at a data model that could handle zone, passenger, and ticket info. Let’s dig right into our integrated transport data model, starting with the idea behind it all. Idea Integrating transportation is necessary to maximize its efficiency and, for customers, its easy use.
A payroll data model allows you to easily calculate your employees’ salary. How does this model work? No matter whether you’re running a small or large company, you need some kind of payroll solution. That’s where a payroll application comes in handy. Plus, the bigger the company, the harder it gets to handle the employees' salary calculations; here, a payroll application becomes a necessity. To help you understand all the data required for such an application, we’ll walk you through a related data model.
Calling an emergency number like 911 or 112 is not something we’re looking forward to, but we’re glad to have it when we need it! On the other end of the line, it’s a stressful job, and there’s little room for mistakes. Everything needs to work perfectly. Today, we’ll take a look at the data model an emergency service could use to process and respond to incoming calls.
How does all that public opinion data get stored? We check out an opinion poll data model. Everyone wants to know what the public thinks, from politicians and companies to individuals who want to know what others think on a certain topic. This kind of job is usually performed by agencies that specialize in that type of research. Today, we’ll take a look at a data model such an agency could use to store all relevant poll data, from questions and predefined answers to the actual feedback.
Cameras, revolving doors, elevators, temperature sensors, alarms – all of these devices produce a large number of interconnected signals that are related to events happening around us. Now imagine you’re the person who needs to track statuses, produce real-time reports, and make predictions based on all this signal data. To do this, you’d first need to store that data. A data model that supports such signal processing is the topic of today’s article.
What data model would allow you to comfortably search for books and borrow them in your local library? Have you ever gone to a library and borrowed a book? Maybe that seems old-fashioned in today's world of instant internet knowledge and e-books. But I'm sure there's still this analog part of you that still likes to smell, touch, and read books. Or maybe you were forced to use a library when you couldn't find something on the internet!
Everybody books into a hotel at some point. In this article, we’ll look at a data model that could power a hotel reservations system and channel manager. Faster, cheaper transportation options allow us to travel across the world in a matter of hours. And people have more disposable income than ever before. Is it any surprise that tourism is growing rapidly? In addition to traditional hotel booking channels, we also have newer options – like Airbnb and Booking.
What kind of data model makes online concert ticketing work? Have you ever been to a concert? I'm sure you have. And I bet you purchased your ticket online. Online shops let us buy tickets to concerts by our favorite artists without leaving our comfortable homes. We can find a venue or a location (even one that’s not near us), choose a seat, and get our tickets delivered instantly through email – or maybe we’ll wait several days and get the tickets delivered.
Do you want to learn how to design a database system and map a business process to a data model? Then this post is for you. In this article, you’ll see how to design a simple database schema for a recruitment company. After reading this tutorial, you will be able to understand how database schemas are designed for real-world applications. The Recruitment System Business Process Before designing any database or data model, it is imperative to understand the basic business process for that system.
SaaS (Software as a Service) is one of the three main components of Cloud computing. Usually, SaaS applications are web-based and can handle many different users at one time. Subscription-based solutions are very popular SaaS offerings. Some well-known SaaS products include Microsoft Office 365, Amazon Web Services (AWS), Slack, Jira, Stripe, and (of course) Vertabelo! Today we’ll take a look at a data model that would allow us to manage SaaS subscriptions.
Are you forgetting something? A data model to help you remember important dates – before they happen. Have you ever forgotten an important date – your mom’s birthday or your anniversary? Or that you’re giving a lecture? Yup, things like that happen in real life. Maybe not to all of us, but to some of us (including me), they certainly do. To prevent such disasters, we’ll create a data model you could use as the background for an application that will notify you right on time.
What kind of data model supports an online musical equipment store? Musical equipment shops used to be one of those old-fashioned industries, one that you wouldn't expect could (or should) adapt to the online world. It wasn't unreasonable to paint such a picture. After all, you can't choose your ideal guitar based solely on magazine pictures, can you? Musicians and wannabe-musicians need to try various instruments, hearing and feeling how each one responds when played.
Producing a great wine is a really complex process, one that takes many years to master. Offering and selling wines to customers is another complicated process. There are many stores specializing in only one product. If you want that product, you’ll go to that store. Wine stores are an example of what I’m talking about. What would be the data background of a wine store? Let’s find out. In many ways, a wine store is like any other store.
There are many online portals which allow investors to lend money directly to individual borrowers – with no banks acting as intermediaries. What data model might underlie such a site? Online lending platforms bring borrowers and investors together and allow them to choose to whom they want to lend their money (in the case of investors) and who they want to borrow money from (in the case of borrowers). Some peer-to-peer lending sites also allow borrowers and investors to make their own deals in terms of lending rates (i.
Running an automobile/car repair shop is a really complex business. You’ll need to make appointments while some customers will drive in and you don’t want to have them wait for hours. Also, you’ll need to organize employees, track repairs, materials, charge customers, etc. You’ll definitely need an IT solution and, of course, a data model in the background. Today we’ll talk about one such model. The Idea I’ve already mentioned that this business model is really complex.
Smart homes used to be strictly in the future; now they are a reality. Most of us have heard about them, but they are not so widespread as they will be in the near future. Managing your home the ‘smart’ way will definitely produce a lot of data. Today, we’ll analyze a data model we could use to store smart home data. The Data Model When you think of a smart home, you probably think of remotely locking and unlocking your home, activating alarms, lights, or cameras from your phone, having thermometers that automatically manage your heating and cooling, etc.
Freelancing is becoming more and more popular these days. While most freelancers are a one-man band, that’s not the only option. You could be a part of a collective and collaborate on larger and more complex projects. A data model that could power a freelancers collective’s app is the topic of today’s article. Freelancing is not new, but it’s becoming more and more popular. Working from 9:00 to 17:00 has certain advantages, but it also comes with many disadvantages.
In the previous two parts, we’ve presented the live database model for a subscription-based business and a data warehouse (DWH) we could use for reporting. While it’s obvious that they should work together, there was no connection between these two models. Today, we’ll take that next step and write the code to transfer data from the live database into our DWH. The Data Models Before we dive into the code, let’s remind ourselves of the two models we’ll work with.
Can you design an OLAP database model from an OLTP model? In this article, we’ll show you how! This is the second article of our data warehouse (DWH) series. You can find the first one here. The idea behind the series is to start with the OLTP (Online Transaction Processing) database model, present a possible solution for the reporting/OLAP (Online Analytical Processing) data model, and then finally consider the code we’ll use to perform the ETL process.
Databases need to run optimally, but that’s not such an easy task. The INFORMATION SCHEMA database can be your secret weapon in the war of database optimization. We’re used to creating databases using a graphical interface or a series of SQL commands. That’s completely fine, but it’s also good to understand a bit about what is going on in the background. This is important for the creation, maintenance, and optimization of a database, and it’s also a good way to track changes that happen ‘behind the scenes’.
Welcome to a new series that shows you the practical side of the data warehouse (DWH)! In the first article, we’ll tackle a data model for a subscription business. In previous data warehouse articles (The Star Schema, The Snowflake Schema, Star Schema vs. Snowflake Schema) we focused more on the theory. In this series, we’ll show you how you could create a data warehouse for a real-life application, such as a database model.
Do you dream of running a marathon? Let’s look at the data model for an app that could take you from lazy couch potato to marathoner. What do you need to run a marathon? You’ll need enthusiasm and determination. A good pair of running shoes. And lots of physical training! Let’s say you have an app that helps you go from novice runner to marathon finisher. What would the data model look like?
Board games like dominoes are still very popular. Let’s take a look at dominoes from a data modeling point of view. The game of dominoes has been around for hundreds of years, and it’s played all over the world. As you might expect, this means a lot of variations in play! In this article, we’re going to examine a data model that could support the most common variants – draw and block.
Spreadsheets – Excel, Google Sheets, or a sheet by any other name – are really cool and powerful tools. But then, so are databases. When should you stick with a spreadsheet? When should you move up to a database? This is the continuation of my previous article “Spreadsheets vs. Databases: Is It Time to Switch?” where we’ve discussed the most common disadvantages of using spreadsheets to organize lots of data.
Spreadsheets – Excel, Google Sheets, or a sheet by any other name – are really cool and powerful tools. But then, so are databases. When should you stick with a spreadsheet? When should you move up to a database? You can use spreadsheets and databases for similar purposes. Given that both organize data and facilitate reporting, at times it can be hard to determine which is the best one to use.
There isn’t much chance you’ve missed the whole idea of the sharing economy – whether you like it or not. Popularized by companies like Airbnb, Uber, Lyft, and many others, it lets people earn some cash by renting out their unused stuff. Let’s see the data model behind such an application. Got a spare room? Sign up with Airbnb and make some extra money renting it out. Got a car and some free time?
If there’s a way to order groceries online, why not use it? This article examines the data model behind a grocery store’s delivery system. We still get a special feeling from picking something from the garden and then preparing it right away – but it’s not something we can do often. Today’s fast pace doesn’t allow it. In fact, sometimes it doesn’t even allow us to go to the store to “pick” our groceries.
Turn-based games and their map-based counterparts have been popular for a long time. Suppose we were to take such games into the 21st century by making them digital. What data model is up to the job? If you think about it, many popular games have been map-based, turn-based, or both. On the one hand, we have simple low-tech board games like Don’t Get Angry and Monopoly; the other end of the spectrum includes the computer-based Panzer General and Civilization series as well as the stand-alone Alpha Centauri game.
Various apps promise to make your search for parking painless. Let’s examine this type of app using our data modeling glasses. What does the underlying model look like? In an earlier article, we explained how a parking lot is structured and how a data model can be designed to manage one. In this article, we are examining the data model for a parking app. You know these apps: they list nearby parking options, tell you the prices, and let you book or reserve a space or buy a parking pass.
Organizing children's parties is not an easy job: everything has to be perfectly planned and delivered. Otherwise, chaos happens. It’s up to the adults – more specifically, the party planners – to take care of everything and do it properly. Is there a better way to do this than to organize everything in a database? We don’t think so! Children’s parties vary a lot. Some are simple, like birthday parties that include just invitations, food (snacks, beverages, and a cake) and maybe a clown or a magician to entertain the kids.
Hungry but you don’t want to cook? Call up a restaurant, order your favorite meal, and read about a data model that can organize the whole process. Despite an abundance of “time-saving” technology, we seem to have less time to fulfill basic needs – such as eating. If we want to eat something but we don’t have the time (or the skills) to cook it ourselves, we can order food from a restaurant (i.
It’s Valentine’s Day and you’re single. Again. Not cool. Not cool at all. We’ll do something about that with today’s dating app data model. Ok, reading this article won’t automatically get you a date. Or maybe it will. Let’s see. How many dating apps can you name? I can think of at least a dozen. As data modelers, though, we’re more interested in the data model underneath the app than the app itself.
Lots of people use mobile weather apps to plan their day – or at least decide if they need to carry an umbrella! What sort of data model lies underneath these popular programs? We all want to know how nasty the weather is before we step outside. Windows, iOS, and Android apps give us accurate and reliable information about current weather conditions. This article explains a detailed data model that could be used for such apps.
Trading cryptocurrencies, buying stocks, and the like is extremely popular these days – it’s perceived as easy profit. Prices are currently rising, but we can’t know when that will change. On the other hand, we know it will at some point. But we’re not here to make financial predictions. Instead, we’ll talk about a data model that can be used to support the trade of cryptocurrencies and financial instruments like stocks or fund shares.
If you’re a Star Trek fan, you likely know that Captain Kirk and Mr. Spock frequently play a variant of chess called Tri-Dimensional Chess, or 3D chess, a game that’s similar to standard chess but with notable differences. In this article, we’ll build a data model for a 3D chess application that allows players to compete against each other. Beam us up, Scotty! The Concept of 3D Chess While chess itself is already a complex game, combining boards and multiple sets of pieces can significantly increase the game’s complexity.
With the holidays quickly approaching, Santa needs some additional help to deliver presents to children around the world. Today, we’ll develop a data model that can help Santa and his elves work more efficiently. Background Santa’s job is extremely important, so he needs to do everything he can to ensure on-time success. Just remember all the problems Howard encountered in ‘Jingle All the Way’ when trying to find a single Turbo Man figure—we can’t let Santa slip up again, or his reputation will be ruined.
Research shows that cars remain parked for 95% of their lifetime, suggesting that parking lot management systems should be smart, efficient, and robust. In this article, we’ll construct a data model for such a system. Introduction Before we begin constructing our data model, we should first understand how parking lots are structured and how they operate. Let’s take a brief look at these two key areas. How are parking lots structured?
Weddings are often accompanied by merriment and celebration, with numerous guests, food, drinks, music, and dancing. But all of this can’t happen without the proper preparation and coordination. Let’s take a closer look at how data modeling can help us better organize a wedding so everything runs smoothly. Preliminary Background Though we’re mostly all aware of what a typical wedding ceremonies looks like, it can’t hurt to briefly consider some aspects that could potentially impact our data model.
Life insurance is something we all hope we won’t need, but as we know, life is unpredictable. In this article, we’ll focus on formulating a data model that a life insurance company may use to store its information. Life Insurance as a Concept Before we start discussing the actual data model for a life insurance company, we’ll briefly remind ourselves of what insurance is and how it works so we have a better idea of what we’re working with.
Keeping up with the latest changes in technology is necessary if you want to get ahead in today’s competitive job market. In this article, we’ll build a data model for online portals that offer a more engaging platform for learning new skills, using Native Monks as our guide. Introduction In one of our recent articles, we built a working data model for an e-learning portal, and we explained how courses can be split into recorded/transcript lessons and made available to students.
Mail delivery, in spite our dependence on email, is still alive and well. What kind of data model supports your local mail delivery? A few decades ago, mail (not email) was one of the most important ways to communicate. We received all kinds of mail, from bills and advertisements to letters and invitations. Maybe you got mail from long-lost relatives in Australia or even a Nigerian prince with an unbelievable fortune just waiting for you 😊.
Sometimes you need a break and you don’t want to travel all that far to get one. Why not go to a local or county club? We look at a data model to help county clubs everywhere stay organized. Imagine that you’re in southeast England, somewhere in East Sussex or West Sussex or Kent. The grass is just the right length, the tea is the perfect temperature, and it’s raining a little.
Using a mobile app to hire builders, landscapers, and other skilled professionals makes taking care of property less of a hassle. In this article, we look at a data model to support such an app. Is it easy for you to hire a plumber, handyman, or electrician? Most people would say no! That’s why there are several apps and services that match service professionals with buyers. These apps are based on a simple, one-platform concept.
Pet care is a huge industry. Is there a data model that can help pet owners and professionals manage their activities? There is now! Many people share their lives with cats, dogs, birds, and other animals. (I once had a pigeon for a while, until its wing mended.) What a lot of pet owners don't realize is just how big a business pet care is. In the United States, pet owners spent $66.
In order to optimize the value of any website, information about the number of site visitors and their user behaviors is needed. There are a few tools which, with just a few minor changes to your site, will actually do this work for you, the most popular such tool is Google Analytics. While this article will not help you install and use Google Analytics, its goal is to help you understand the data model that may lie behind it --So, let’s get going!
Most of us are familiar with the apartment rental process. But what does it take to run a leasing office? In this article, we look at a data model designed to do just that. Earlier, we explained a data model for a website that lists residential rental units like apartments. In many countries, apartments are managed by a leasing company. This company handles the entire rental experience, from processing the initial renter application to performing maintenance work on the property.
No matter what you collect, you need to be able to organize (and trade, and swap) it! We look at a data model for collectors. Collecting things is a very cool hobby. Some people do it even without knowing it: They start with one or two comics or vinyl records and somehow end up with shelves full. At some point, all collectors want to know more about the items in their collection.
Team sports are very popular, especially among kids and teens. In this article, we look at a data model that can help run a sports school. Exercise helps us stay fit and healthy, but exercising by yourself can be boring. Unless you can motivate yourself, you might not get the exercise you planned. To stay fit, people of all ages join a local team and practice together. It’s much more fun!
No plot spoilers – just a data model based on the Game of Thrones TV series. “You know nothing, Jon Snow.” Starting from episode one, the storyline was intense, dynamic, and full of twists. George R.R. Martin did a great job of writing A Song of Ice and Fire, the multi-book series on which Game of Thrones is based. Only five of the projected seven books in the series are currently completed, and the TV series’ storyline is now ahead of the published books.
Bidding sites are a popular way to buy and sell many products. In this post, we look at these online auctions from a buyer’s perspective. What does our data model need to handle the bidding process? There are many online auction sites (eBay, eBid, Webstore, Bonanza, etc.) where one can buy jewelry, clothing, electronics, and a lot more. How these sites work is simple: an item is listed, people bid on it, and the highest bidder wins the item, often at quite a discount.
What goes into marketing a business? And what data model could a marketing agency use to run their organization? Read this article to find out! Marketing, especially digital marketing, is everywhere. Digital is probably going to be the primary form of marketing in the future: businesses can collect an enormous amount of this data, easily transform it, and use it to reach potential customers. Plus, digital marketing is effective.
In the first two parts of this series we have installed SuiteCRM locally, imported its model into the Vertabelo database, and created relationships based on assumptions. In Part 3 we took a closer look at the most important parts of the CRM, how to use them, and how the data is stored in the database. This article will continue where Part 3 ended and will close the series. We’ll take a closer look to other modules of SuiteCRM including campaigns, opportunities, projects, documents and users, and roles administration.
Many medical clinics have shifted to an all-digital record system. What does a basic clinic management data model look like? Visiting a hospital or a clinic is never pleasant, but it would be even worse if our health records were in chaos. Not so long ago, all medical documents were in paper form. This not only polluted the environment, it slowed down the whole process. In some cases, patients were responsible for their own medical records.
City-building and management games have been very popular for decades. If you were to build your own city management game, what kind of data model would you need to run it? Let’s find out. With the advent of SimCity in 1989, gamers could experience a new type of simulation game, one that allowed them to plan and control an entire city. SimCity was designed by Will Wright and initially released for Macintosh computers; now you can play variants of this game on almost any device you own.
Knowing a foreign language is an important skill, especially in a global economy. In this article, we look at a data model that can help run a language school. Learning a language can be challenging, but enrolling in a language school should be easy. You can enroll at the school itself, or you can use an online form. In this article, we’ll examine a data model that allows for online registration as well as other functions common to language schools.
Shopping centers are fun to visit and complicated to run. In this article, we look at a data model capable of helping us manage a shopping center. We shop at shopping centers (also called shopping malls or just malls), but we also go there to see a movie, eat at a restaurant, or hang out with our friends and drink coffee. Just about every city or large town has a shopping center.
Most of us love to travel and explore new places, and using travel agencies is an easy way to plan our holidays. With vacation season in mind, we’ll answer the question “What kind of data model would run a travel agency?” In my personal opinion, the best way to travel would be without any time or budgetary limits. We could leave the beaten track and explore all the most interesting places in as much detail as we want.
E-learning (or online learning) offers people a flexible and cost-effective way to pick up new skills. What’s behind these popular portals? Online learning has become an attractive way for busy people to expand their educational and technical horizons. Being able to learn what you need, at your own pace, and on your own schedule is appealing. Plus, these courses are priced much lower than their traditional counterparts. Since there are no classrooms, no full-time instructors, and a high reusability factor (once a course is produced, it can be accessed by many learners), online courses are very cost-effective.
How does the self-storage business work? Why might someone need such a service? And what kind of data model could run it? Self-storage facilities allow people to rent a space to store their extra belongings. Depending on where you live, you may or may not be familiar with the idea. Personally, I knew that self-storage facilities existed, but I never cared much about them. I simply had no need for such a service.
Are you excited when you get an instant discount on an online purchase? Do you always look for a better deal before you place an order? This article explains how online stores manage product prices and discounts. Everyone loves a deal, no matter how big or little it is. Would you rather pay full price for an item or apply a coupon code and save a few bucks? Offering price discounts is one major way retailers attract customers and increase sales.
Ever wonder about the data model behind Wikipedia and other online encyclopedias? In this article, we look at what it takes to power that kind of site. Knowledge is what we leave behind us after we’re gone. The next generations build on our ideas and assumptions and produce new ideas. Humanity has used physical materials, like ink and paper, to store knowledge. Now, we have a new and powerful medium – the Internet – to share and analyze information.
Looking for a way to keep tabs on tennis? Shantanu Kher demonstrates a data model that manages information about players, tournaments, and results. Roger Federer recently won his fifth Australian Open title, picking up a record 18th Grand Slam. Like many people, I’ve followed his play and tennis tournaments in general for a long time. What does it take to organize such events? Let’s dive into a data model designed to keep track of tennis tournaments and players.
What is needed to produce electricity? We look at a data model that can organize the power production process. In the electric power distribution system article, we discussed a data model for an electric power distribution system. We focused on how the electricity was provided to customers via the transmission grid and the local transmission grid. Due to space constraints, we treated the production process as a black box. Today, we’ll look inside this black box, discussing what kind of model could store details about electrical production facilities, owners, energy produced, and related costs.
Crowdfunding has become a popular way to raise money for businesses, charities, and all kinds of projects. In this article, we’ll look at a database for a crowdfunding platform. Most of us have heard about crowdfunding. It is a relatively new fundraising concept that helps people realize their ideas. Project costs are divided between a large number of individuals, and they usually choose to back a project because it appeals to their personal interests.
No matter which side of the equation you’re on, sometimes it’s tough to find a qualified person for a specific job. In this post, we look at a data model to help recruiters and HR departments stay organized during the hiring process. Most of us have been involved in the hiring process – most often as the job applicant. However, we can also find ourselves involved on the hiring side, maybe by testing the applicant’s technical knowledge.
Ever use Craigslist or some other online classified ad website to sell or buy something? Did you wonder how it worked? In this article, we talk about how an online classifieds data model can be designed using a relational database. Online classified ads (such as Craigslist) offer a place to buy or sell new or used products, advertise services, and connect with various people. In this article, we’ll see how to design an optimized, performance-friendly database model for such a platform.
Have you ever wondered how electricity gets from the power station to your home or office? In this article, we’ll look at a database model that could work for an electricity distribution system. Electricity is so widespread that we can hardly imagine life without it. The first hydroelectric power station may have been built back in 1868, but there are still plenty of innovations going on with electricity. The most attention-getting are electric cars, like Teslas or Rimacs.
Renting goods and services is very popular today. Services like Airbnb rubbed the renting lamp and let the genie out, especially for travelers. They’ve opened up new horizons, and in the future we can expect that all kinds of rental services will become even more common. In this article, we’ll describe a database model that could be used to run an application for renting apartments, rooms, and anything else you can think of.
You might run an antique store because you love history, but you’ll need modern technology to keep everything organized! In this article, we discuss what an antique store’s database model would need. Antiques are cool. I bet we all love history and antiques in some way. Some admire Victorian furniture, others are thrilled about old coins, vintage weapons, or medieval armor. Still others enjoy reading or just looking at old books or manuscripts.
Booking a doctor’s appointment using an online app is an innovation that simplifies the entire process. Let’s dive into the data model behind an appointment booking app. Why use an app? It makes it easier for people to find the doctors of their choice, letting them see the doctor’s professional records and patient reviews. When someone finds a doctor they like, they can book an appointment with them without leaving the app.
Organizing an event is a lot of work! In this article, we examine the data model behind an event organization app. If you’ve ever tried to organize an event for more than ten people (and don’t count parties or business meetings here) you know how complicated event management can be! Have we invited everyone? Have they confirmed if they are coming? Is the venue booked and prepared? Who will host the event?
Other than location, what’s it take to run a successful real estate business? We examine a data model to help real estate agencies stay organized. Buying, selling, and renting apartments or houses is really big business today. Most people are happy to pay a fee and let a professional real estate agency do the work for them. On the other hand, the company could act in its own behalf, buying properties to resell or rent.
Being healthy and fit is a lifestyle, not a fad. People who realize the value of health make it a priority, keeping records of all their fitness-related facts. In this article, we’ll examine the design of the database behind a health and fitness application. There are many applications which let users log their health and fitness information. A couple of big players like Apple, Google, and Microsoft have launched their own development APIs specifically for this market.
What kind of data model can handle all the planning and activities used in process management? In this article, we discuss one design for a process management database. Process management is a fairly straightforward and common concept. At its core, process management is simply deciding what needs to be accomplished – building a car or creating an app, for example – and then figuring out how to do it. Of course, the actual process itself is more complicated!
In this era of tough competition, job portals are not just platforms for publishing and finding jobs. They are leveraging advanced services and features to keep their customers engaged. Let’s dive into some advanced features and build a data model that can handle them. I explained the basic features needed for a job portal website in a previous article. The model is shown below. We’ll consider this model as a base, which we will change to meet the new requirements.
Bus and train travel hubs are full of activity: the crowd, the rush, the lines, the race to the platform or terminal. Clearly, such places require a lot of organization! In this article, we’ll describe a database model that could keep a transport hub organized. And that’s not easy. There are many parameters to account for: lines, stations, passengers, tickets, compositions (i.e. buses or trains), and the number of available seats on any given trip.
What kind of database model does it take to run a gallery or museum? How can it be optimized to manage events, partnerships, and other activities? When I think of a gallery or museum, I usually think of a peaceful place where you can hang out for hours, looking at interesting or beautiful things. Personally, I enjoy visiting the Technical Museum in Zagreb, which has cool exhibits like old cars, fire trucks, submarines, trams, and trains.
Project management is a booming field. In this article, we’ll examine a data model to support a project management app. Project management is anything but an easy task. You are limited in many ways – materials, costs, human resources, and project deadlines spring to mind – but it’s still up to you to deliver a result on time. If you think of building a pyramid, you can easily conclude it was a case of project management!
In previous articles, we’ve discussed data model that could run card games, board games and even MMO games. We've also developed a simple tic-tac-toe game using Spring Boot and AngularJS. In this article we’ll move to the next level and develop a model that can store results of an “action” game. Let’s get started! Before We Start Modeling Before we get into designing the database, we need to know some background on the type of games we’re dealing with and what they will require.
Many freelancers find projects on online job platforms like Upwork and Freelancer. What kind of database model powers these sites? Let’s take a look ... If you’re not a freelancer, you probably know somebody who is. Working anytime and from almost anywhere is very attractive, and thanks to online freelancing sites, it’s a real possibility. And we’re not talking about just IT-related jobs like programming and project management. Freelance jobs include teaching, writing, composing music, illustrating, and design.
Across the globe, the job portal site is a well-known feature of the Internet landscape. Big players like Indeed and Monster have turned job hunting and recruiting into a veritable online industry. Let’s dive into the elementary features leveraged by job portals and build a data model that can support them. People love saving time by using technological innovations; the online job portal is another version of working smarter, not harder.
If you ran a MOOC online learning platform like edX or Coursera, how would you keep it organized? In this article, we’ll look at a database model that would do the job. You’ve probably heard of MOOC (Massive Open Online Course), a trending way to learn online. And if you haven’t, think of a MOOC program as university subjects with all materials, tests, and feedback available online. Two of the most popular online MOOC providers are Coursera (founded by Stanford University) and edX (founded by Massachusetts Institute of Technology and Harvard University).
Call them taxis or cabs, these convenient rides for rent have been around for centuries. Nowadays, it’s a lot more complicated to run a taxi service. In this article, we’ll look at a database model designed to meet the needs of a cab company. The history of “calling a cab” began in 17th century London. In most places, cabs are more affordable than ever. They are also becoming a lot more accessible: we can order a taxi by phone, via mobile applications, or on the Web.
A recurring event, by definition, is an event that recurs at an interval; it’s also called a periodic event. There are many applications which allow their users to setup recurring events. How does a database system manage recurring events? In this article, we’ll explore one way that they are handled. Recurrence is not easy for applications to deal with. It can become a hurricane task, especially when it comes to covering every possible recurring scenario – including creating bi-weekly or quarterly events or allowing the rescheduling of all future event instances.
Everyone planning to move to a new location looks for good accommodations. In the Internet era, the very first place they tend to look at sites dedicated to listing rental properties. According to a poll by one well-known agency, 76% of people looking to rent turn to the internet first; this figure rises to 88% for those aged 25–34. Let’s dive into a full-fledged data model that supports such sites and their underlying features.
What part does database design play in running a restaurant? What might the data model for a restaurant database look like? Find out in this article. A restaurant serves people with ready-made food. This is a type of business that is thriving all over the world, and often with a lot of flare. People feel very comfortable going to restaurants, and they are starting to expect a wide range of options when it comes to their next meal.
Today’s most popular services may well be the ones where people sell their time. Many of these services are largely based on human contact: psychologists, tutors, dentists, hairdressers, etc. In these professions, the saying that“Time is money” is literally true. Therefore, these professionals need to be organized. True, you don’t absolutely need an application to be organized. But the right app can make your life much easier, improve client satisfaction, and make your business better in general.
Relationships are everywhere: between people, between organizations, between organizations and people. Think about being an employee of a company, being a member of a project team, or being a subsidiary of another company. Is there a straightforward way to accurately model and manage all these relationships? Can we easily answer the question ‘Who knows who?’ A Quick Review of Relationships Exactly how this basic model was derived was described in my previous article, Flexible and Manageable Bill of Materials (BOM) Designs.
Have you written an application that issues invoices? Then you’ve probably struggled with PDF generation, for a start! (Headers don’t need to align, do they?) But there is much more to generating invoices than a pretty PDF. What information has to be on an invoice? How long should you keep an invoice? Ms. Małgorzata Dankowska, a licensed tax advisor, is here to answer your questions. In this article, she’ll discuss the fundamental legal requirements for invoices in the European Union.
The bill of materials design pattern is deceptively simple, yet incredibly powerful. This article will introduce an example, familiar to IT professionals, that you may not have thought fits the BOM pattern. It will also introduce concepts to show you how to make your BOM structures more flexible and much easier to manage. A Short Recap of the BOM A bill of materials has its roots in manufacturing. It is a list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an end product.
A lot has changed over the last 30 years, especially in IT-related domains, but few things have changed as much as how we shop. We still mostly buy milk and groceries at physical stores, but widespread online stores have led most of us to try some form of e-shopping. E-commerce stores have popularized many existing products and services, and they’ve introduced many more. Buying non-physical goods like subscriptions, software, music and movies in digital format is now very common.
In my last post, I wrote about ensuring that your data model properly handles global information: numbers, currencies, phone numbers, addresses, dates, and time zones, among other things. However, I’ve realized that many example data models have exactly the “self-centric” or “Amero-centric” approach that I cautioned against. As an American living abroad (for almost 30 years now), I often find that people make too many assumptions about the universality of what they know.
People like to play. So we invented games and placed them on boards. And then computers came. Now we can play against the computer or against human opponents all over the world – or right next to us. When we play against human opponents we want to have a ranking that will show others how good we are. Maybe it will scare opponents. Or we could just rub someone’s nose in our greatness.
Celebration!! Family time!! Long drive!! A day at the beach!! All these words buzz into our minds when we think of holidays. Have you ever considered how a multinational company keeps track of holidays across the globe? There must be a data dictionary to maintain all these details so that they can ensure seamless business with their local partners. This article will explain such a data model. The Project Requirements in a Nutshell I have quite simple and straightforward requirements this time.
Nowadays, carpooling is accepted and promoted by people around the globe. It certainly reduces one’s personal carbon footprint, and it can be more cost-effective than renting or buying a car. Carpooling also takes a lot of work – organizational work that can readily be done by a well-designed database. This article explains a detailed data model that a carpooling website could use. Data Design, Meet Carpooling So, we need to design a data model for a ride-share (aka carpooling) website.
You might have rented a car on your last vacation. You reserved your car online, and then picked it up from its designated location after paying all the previously-agreed charges. Once you were done, you returned it to the agency and perhaps paid some additional fees. Did you ever think about the system that makes all these things happen? In this article, we’ll look at a data model for a car rental system.
Buying books was a way anyone could acquire a work of art for very little. Solomon “Sol” LeWitt, American artist, 1928–2007 Selling products and services can be two very different propositions. This originates in their differing definitions and real-world representations. Previously in this series, we discussed the table basics in the context of database design and sales. In this post, we’ll analyze the differences between products and services, how they impact the database model, and how we can accommodate both on one database.
People love to communicate. We often joke that any software system always evolves into a messaging system. This article will explain the system requirements and step by step approach to design a data model for a messaging system. Requirements in Nutshell The core functionality of a messaging system in an application is to send notifications/messages to a user or a set of users. Our system also allows one to send messages to a user group.
Storing sales data properly and later combining it can lead to creating a predictive model with a high rate of accuracy. In this and the next few articles we’ll analyze a database design for recording sales. Everyone lives by selling something. Robert Louis Stevenson In today’s world, selling products is ubiquitous. And salespeople who have access to robust tools that leverage historical data to analyze trends and enable an enterprise to adjust business strategies accordingly have an advantage over their competitors.
There are many ways to solve a problem, and that’s the case with administering roles and user statuses in software systems. In this article you’ll find a simple evolution of that idea as well some useful tips and code samples. Basic Idea In most systems, there is usually a need to have roles and user statuses. Roles are related to rights that users have while using a system after successfully logging in.
Let’s build further changes into the data model, which I created in my earlier blog post, such as having an automated approach to assigning an instructor and vehicle to a lesson, invoicing to customers and tracking of them. First off, I need to build logic on the application side to assign an instructor and vehicle to lessons before they actually take place. The main thing to ensure here is availability, i.
It’s common knowledge that the best way to learn something is to practice it in a real-life scenario. Obviously, the same applies to database modeling. Therefore, in this article I decided to teach you how to create a simple database structure, taking a textbook example of a hotel room reservation system. I will show you how to get started and give you some ideas for extending the model.
I need to design a data model for a reservation system for a driving school. The subject area looks quite straightforward, but complexities are still involved. You have to track all requests from clients and keep track of resources (vehicle, time and instructor) consumed during lessons. Introduction I like to use a domain driven approach for designing a data model. It makes me put technology obsession aside and concentrate primarily on modeling the subject area revolving around its associated entities and relationships amongst themselves.
Do you like going to the movies? Have you ever considered what the database design behind their reservation system looks like? In this article we’ll prepare an example database model for a movie theater. There are a few assumptions we have to bear in mind: contemporary multiplex movie theaters can have one or more auditoriums within a larger complex, each auditorium can have a different number of seats, seats are numerated with row number and seat position within a row, a movie can have multiple screenings at different times, or it can be screened simultaneously in a different auditorium, for each screening a seat can be reserved/sold only once, we want to track who entered each reservation/sale into the system.
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.
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.
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.
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.
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.
I need to create the design for a new database which will be the data layer for an application; the application will be an online survey or polling like Survey Monkey. My challenge is that the functionality that I require is not supported by existing survey sites, so I need to build my own. What I need is a conditional survey (if the answer to question 4 is “yes,” then we ask question 5 and skip question 6; but if the answer to question 4 is “no,” then we skip question 5 and ask question 6).
An online discussion forum is a site where people can hold conversations in the form of posted messages. Discussion forums allow conversations to take place when people are not on-line, and messages may be temporarily archived. Also, depending on the forum set-up, a message might need to be approved by a moderator before it becomes visible to other users. Forums have a specific set of terms, for example, a single conversation is generally referred to as a “thread”.
Level: Beginner So many organizations face the common problem of storing employee schedules. No matter what institution: a company, a university or simply an individual, many entities need an application to view schedules. Therefore, I will try to come up with a database model and then, in a future article, we’ll talk about a simple application to store employees’ schedules in a database. Currently the design looks as follows:
Recently, we received a letter from a very special Vertabelo user, Santa Claus, which we publish with his consent. Dear Vertabelo Team, Christmas time is a very busy period of time for me. Hundreds of letters arrive every day from all over the world. It’s very hard to keep track of all children, the toys they request, houses I should visit. Recently, I had an idea that a computer application could help me manage those numerous requests.
In the process of designing our entity relationship diagram for a database, we may find that attributes of two or more entities overlap, meaning that these entities seem very similar but still have a few differences. In this case, we may create a subtype of the parent entity that contains distinct attributes. A parent entity becomes a supertype that has a relationship with one or more subtypes. First, let’s take a closer look at a simple class diagram.
A good data modeling exercise for beginners is to create a data model of an online store. Every time I give this exercise to my students, I’m surprised at how difficult it is for them. Find the Concepts... Let’s see how it can be done. We know we have to create a table for every concept in the domain. Think about the nouns and noun phrases you would use to describe the domain.