Tag: 1nf

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

What Is the Actual Definition of First Normal Form (1NF)?

The First Normal Form (1NF) is exceptional. The other normal forms (2NF, 3NF, BCNF) talk about functional dependencies and 1NF has nothing to do with functional dependencies. Moreover, we have precise definitions for other normal forms and there is no generally accepted definition of 1NF. Does 1NF Equate to “Atomic Attributes”? When you look at various descriptions of 1NF the word that you see most often is atomic. It is common to say that a relation is in 1NF if all its attributes are atomic.

Tag: 2nf

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

Tag: 3nf

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

Tag: Academic account

Tag: Amazon redshift

Designing an Amazon Redshift Data Model Using Vertabelo

See how Vertabelo can help you design a database diagram for Redshift. This article will show you how to use Vertabelo as a database modeling tool for Redshift. It allows you to design and implement a database model in a simple way.  (Vertabelo also supports other database management systems, but in this article we’ll focus on the Amazon Redshift DBMS). What Is Amazon Redshift? Amazon Redshift is a Cloud-based, data warehouse oriented implementation of PostgreSQL database engine designed and offered by Amazon.

Best Database Modeling Tools for Redshift

Amazon Redshift has become one of the most popular Cloud databases. Which database diagram tools are the best for Redshift? Let's find out! Redshift is Amazon's Cloud-based database system. First announced in 2012, Redshift is a data warehouse product designed for analytical systems. It can handle huge volumes of data – up to 1 petabyte (1024 TB). It is considered a DaaS (Database as a Service) solution and is part of the Amazon Web Services (AWS) Cloud ecosystem.

Converting an Analytics System from Postgres to Redshift

Online systems tend to track user’s actions. Gathering information about users’ behavior can increase the quality of their experience, which can lead to increased business income. In this article, we will show how to reimplement an existing Postgres database to a more complex analytics database like Amazon Redshift. The solution we want to reengineer is a tracking system for an online SQL learning platform like LearnSQL.com. The source implementation is built on a PostgreSQL database and contains two main tables:

Vertabelo Feature: Amazon Redshift Support in Vertabelo

Find out how to design an Amazon Redshift schema in Vertabelo. Thanks to increasing volumes of data, analytical databases like Amazon Redshift are gaining market. We introduced Redshift support at the end of 2019; in this article, we will explain how to design a Redshift data model using Vertabelo. How to Create a Model Let's start with the data model creation process. To create a Redshift schema, please: Log into Vertabelo and click on Create new document.

What is Amazon Redshift?

Amazon Redshift is one of the most popular cloud databases. Could it be your data-warehouse solution? Read on to find out if Amazon Redshift meets your needs. In 2012, Amazon announced its new cloud database system called Redshift. Basically, it is a data-warehouse solution intended for analytical systems, which can handle huge volumes of data—up to 1 petabyte (1024 TB). Amazon Redshift is available as a service (Database as a Service) and is a part of a bigger cloud ecosystem called Amazon Web Services (AWS).

Tag: Authentication

Best Practices for Designing a User Authentication Module

With the database design techniques explained here, designing a user authentication data model to support a rock-solid user authentication system is a breeze. The design of an application should specify mechanisms to prevent unauthorized users from entering it. Such mechanisms are commonly designed in an authentication module. This is like how the design of a house ideally defines the security measures that prevent intruders from entering the building, in addition to defining the functionality of the house.

Merging Multiple User Accounts

Social media surrounds us, so it’s not unusual for applications to require some kind of social media integration. The most common issigning in with Facebook, Twitter, or another service. Users expect to be able to log in with different social accounts. So, applications meet these expectations by offering external login options. Let’s take a look at this functionality and investigate how to merge users’ accounts – specifically, we’ll consider the situation when people use several methods to log in.

How to Store Authentication Data in a Database. Part 4

Handling user registration and authentication isn’t an easy task. Both users and developers understand this. Users have to select and remember another username and password (taking into account different password policies, of course). A developer’s responsibility is to make this process secure and to properly protect the user’s data. So it’s no surprise that logging in with one account – Facebook or Google, for example – is extremely popular.

Logging in With External Services

Inputting a username and password is one way of accessing an account, but it’s not the only one. In this article, we’ll see how to enable external services (like Google or Facebook) when logging in to a database. What Are External Service Logins? Giving a user the option to access their system accounts through external services is a growing trend among web designers. This option can provide several benefits, such as giving users one less name-and-password combination to remember.

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

How to Store Authentication Data in a Database. Part 1

How difficult is it to program a user login function for an application? Novice developers think it’s very easy. Experienced developers know better: it is the most sensitive process in your application. Errors in login screens can lead to serious security issues. In this article we take a look at how to store authentication data in your database. The most common way to authenticate users nowadays is with user name and password.

Tag: Bcnf

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

Tag: Bigquery

Vertabelo Feature: Google BigQuery Support

Cloud databases are becoming more and more popular. That’s why Vertabelo has added support for Google BigQuery, one of the most popular cloud databases. BigQuery is an enterprise data warehouse that enables the storing and very fast processing of huge data sets. It can be useful in data analytics, machine learning, and other areas. If you’re working with multiple Cloud databases, check out our articles on Amazon Redshift and how to model a Redshift database in Vertabelo.

Tag: Book review

A Book Review

Book and Author Importance of Data Model Quality Takeoff Checklist Merciless Review Merciless Humiliation? Is it Agile? Conclusion Book and Author Today I’m going to review “A Check List for Doing Data Model Design Reviews” by Kent Graziano. This publication is available as an e-book on Amazon.com. The book is very short – it will take you less than an hour to read it. But don’t let the small volume mislead you.

“Concise Guide to Databases” – briefly about everything

There are books that you plan to read. Then, there are books that you actually started reading and then stopped. Then, there are books you started reading and you hope to finish sometime. The last database book I did read was “Concise Guide to Databases” by Peter Lake and Paul Crowther. As title suggests this is not a book that dwells deeply into one specific aspect of DB theory or technology, quite the opposite.

5 Must-Read Database Modeling Books?

I recently realized that our database modeling library could use a few more advanced titles. So I headed over to Amazon to see what they had on offer. There are plenty of introductory books for beginners that tell you how to normalize data, and introduce you to indexes, but what about something for the professional, grown-up database modeler? Here are 5 of the best database modeling books I found (listed in no particular order) that go beyond the basics and come highly recommended by Amazon reviewers.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Tag: Boyce codd normal form

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

Tag: What Is a Candidate Key in Database Design?

What Is a Candidate Key in Database Design?

A candidate key is an important concept in database normalization. Read on to find out what a candidate key is and how to check if a set of attributes is a candidate key. The candidate key, also simply called a key, is an important part of database design. It is the theoretical foundation for technical concepts like primary and alternate (unique) keys. Every database designer should be aware of how to identify candidate keys and how to choose the right one for their table.

Tag: Cardinality

What Does Cardinality Mean in a Database?

Cardinality in an SQL database isn’t just a number representing rows in a table. It also has an impact on query performance. Learn how database cardinality works in this article. Cardinality is a term that originates from mathematics – more specifically, from relational algebra. But the term isn’t limited to the mathematical field; it also has implications in the world of databases. In this article, we will do a dive deep into this topic and explain cardinality in SQL databases and how it impacts your queries.

What Is Cardinality in Data Modeling? The Theory and Practice of Database Cardinality

What is cardinality in data modeling? And how do you implement cardinality in databases? This discussion uses simple, easy-to-follow examples to describe both the theory and modeling of cardinality in ER diagrams. Cardinality is a mathematical term. It translates into the number of elements in a set. In databases, cardinality refers to the relationships between the data in two database tables. Cardinality defines how many instances of one entity are related to instances of another entity.

Tag: Cloud database

What is Amazon Redshift?

Amazon Redshift is one of the most popular cloud databases. Could it be your data-warehouse solution? Read on to find out if Amazon Redshift meets your needs. In 2012, Amazon announced its new cloud database system called Redshift. Basically, it is a data-warehouse solution intended for analytical systems, which can handle huge volumes of data—up to 1 petabyte (1024 TB). Amazon Redshift is available as a service (Database as a Service) and is a part of a bigger cloud ecosystem called Amazon Web Services (AWS).

Tag: Collaboration

A Data Model for a Freelancers Collective

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.

How to Embed Your Database Model Into a Website

Did you know that you can embed your database model in your website? If you haven’t tried this yet, now’s your chance – we’ve recently improved the process. It’s an excellent way to share ideas with readers or make projects available to co-workers. You might have already seen some interactive models embedded in our blog. They look like this: if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "loading";var s=document.createElement("script");s.setAttribute("type","text/javascript");s.setAttribute("src", "

Remote Collaboration on Database Design Just Got Easier

As an SQL consultant, I often work with others to create new database models from scratch or modify existing schemas. Aside from the technical aspects, collaborations on database models can be tricky. Moving from environment to environment poses its own challenges: security restrictions sometimes prevent direct access to SQL instances, and technical resources from across the globe can be difficult to seamlessly integrate. Deterrents these may be, but they are not insurmountable.

How to embed a database diagram on the Internet

So I’m sitting here thinking to myself: How should I share a new Vertabelo feature with you? Should I write an over-hyped article full of industry jargon and marketing-speak? Hmmm. Tried and failed. I’ve just gotta show you the feature straight up and how simple it is to use. More meat, little fat, no fluff :). Well tah dah! Here it is: Go ahead, click on it. Use the mouse wheel to zoom.

Tag: 5 Examples of Conceptual Data Models

What Are Conceptual, Logical, and Physical Data Models?

Depending on the purpose, we may need to create either a conceptual, logical, or physical data model. Find out the differences and use cases for each one. Data modeling implies identifying and defining entities and their relationships for a business solution. It requires a good understanding of the desired business outcome and is the foundation for creating a robust software solution. The different model types (conceptual, logical, and physical) have different levels of detail and are used at different stages of the software development process.

5 Examples of Conceptual Data Models

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.

How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo

This article will lead you through the differences between the conceptual, logical, and physical data models. It will also show you how to create each one.  What are conceptual, logical, and physical data models? What do they do, and what are the differences between them? That’s what I’ll answer in this article. It won’t be only theory; I’ll also show you how to create different data models using Vertabelo.

Tag: Crows foot notation

Crow’s Foot Notation

The most recognizable characteristic of crow’s foot notation (also known as IE notation) is that it uses graphical symbols to indicate the ‘many’ side of the relationship. The three-pronged ‘many’ symbol is also how this widely-used notation style got its name. Let’s see where crow’s foot is placed in the history of data modeling and take a look at its symbols. History: How Crow’s Foot Notation Got Started The beginning of crow’s foot notation dates back to an article by Gordon Everest (1976, Fifth Computing Conference, IEEE).

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

Tag: Data mart

Improve Your Financial Reporting With Data Warehousing

Financial institutions, especially banks, usually have really large datasets. To use that data, it must be stored in such a way that it is easily available for generating reports. The trend now is to use a data warehouse to store all your relevant data, and to use smaller data marts (subsets of the warehouse) to keep specific data sets in a convenient place. But where to start? In this article, we’ll look at one possible solution, similar to a project I worked on in the past.

Tag: Data model

Data Model Types: An Explanation with Examples

Data modeling is an essential part of designing a database. If you want to achieve the best outcome, make sure to utilize the available data models. Read on to find out more. Every relational database has clearly defined objects and relationships among these objects. Together, they comprise the data model. This article presents the concept of data modeling. First, we’ll go over data modeling and the steps of its process.

How to Align Elements in Vertabelo

An ER diagram that’s not easy to read isn’t much help. Learn how to align ERD elements – and better organize your diagram – in Vertabelo’s online data modeler. Designing great ER models is not just about creating the right tables, defining the correct data types, and adding references. To make the model readable and easy to understand, you should arrange it neatly. This is where the alignment and distribution of the different ER diagram elements (tables, reference lines, notes, subject areas, etc.

Tag: Data modeling

How to Migrate Your Database

Migrating a database between two different schemas involves serious risks to data integrity and application availability. Read this article to learn data migration best practices and ensure satisfactory results. Database schemas are constantly evolving. This evolution can be a consequence of many reasons, including version changes in an application that uses the database, refactoring processes to improve database design, or the integration of different applications. As database designers, we commonly face the challenge of migrating a database to a new schema.

How to Draw an Entity-Relationship Diagram

Curious about how to create an ER diagram (entity-relationship diagram or ERD) during the database design phase? We’ll explain how to understand and create ER diagrams and explore what ERD/database modeling tools can make the process quicker and easier. An entity-relationship diagram can be considered the blueprint of a database. We use entity-relationship diagrams when we are modeling data stored (or that will be stored) in a database. ER diagrams allow discussions of requirements, such as what information needs to be stored, what aspects of the information need to be secured, and how the information is linked together.

Top 12 Database Design Principles in 2023

A well-designed data model must support database integrity, performance, scalability, and security. To achieve these qualities, pay attention to the top 12 database design principles explained in this guide. Database design principles are essential to creating efficient, reliable, and scalable databases. A database created following these fundamental design principles ensures that its data will be stored in it in an organized and structured manner. It will facilitate database administration and allow users to obtain accurate results.

What Is the Star Schema Data Model? An Explanation with 3 Examples

In this article, we will talk about the star schema data model. When should you use this to structure your data? What are its advantages over other data schemas? We’ll answer these questions and more in this article. What Is a Star Schema? The star schema is a popular approach for designing data warehousing and business intelligence data models. It uses dimensional modeling; in other words, it utilizes dimension tables with descriptive attributes that provide context for the measures in the fact table.

Top 10 Data Engineering Tools

Want to find out about the role of data engineers and data engineering? What are the top data engineering tools these professionals use? Read on to explore more. Data engineers create pipelines to facilitate an organization's data analytics by collecting, merging, and transforming data. They create an infrastructure for modern data analytics. Data engineers' work can be categorized into various sets of requirements that they must fulfill in building the pipeline.

Top 11 Best Practices for Database Design

What are the most important commandments of database design? Find out in this article! Make sure that every one of your designs meets these set of best practices for database design and your database will always run smoothly and swiftly. To become a database designer, you must invest a lot of time and effort. To learn database design, you must take courses, get a degree, read books, keep up with the latest trends, and practice a lot.

Create an Online Data Model in 4 Steps

Learn how to use four simple steps and a data modeling tool to create a database diagram online. Creating database diagrams (aka data modeling) is an essential part of modern database development projects. A good data model is to a database what a strong foundation is to a skyscraper. Due to the availability of modern data modeling tools, this has become a straightforward process. What Is Data Modeling? Data modeling is the process of identifying and graphically representing the data elements and entities along with their attributes, relationships, operations, etc.

What Is a Database Schema?

A database schema is used to define the structure of the tables and the relationships among them, the data types, and the constraints in a relational database. Sometimes, the word schema is synonymous with the entire database. In this article, we go through the concepts that define a database schema and how these concepts are represented in Vertabelo. A database schema is the logical ordering and organizing of the elements and the data in a database.

Top 7 Database Schema Design Tools

Database schema design tools are essential in your toolkit if you are a database professional. Your database development journey begins with these tools. Let's read on to find out the top database schema design tools. This article lists my top database schema design tools with their key features. These tools are important since we start our database development journey with data modeling using a database design tool. Data modeling is a step-by-step process of arranging data entities in an information system, starting from concepts up to building your physical database.

Where to Find Database Diagram Examples

This article discusses various sources of database model examples you can use as a starting point for your data models. Having a variety of database diagram examples on hand is very useful. This is true whether you are starting your career in database design or consider yourself a seasoned database professional. It is a good idea to use existing database model examples as a starting point, rather than to try to reinvent the wheel.

5 Data Modeling Techniques

Different scenarios call for different data modeling techniques for the greatest benefit. Knowing what type of data model to create is very important. Applying the right technique saves you a lot of headaches and avoids common errors. We go into a bit of detail about what these techniques are and how they are applied. What Is Data Modeling? Data modeling involves building a diagram that represents the data structure to support a new software application.

Using Text Notes in Data Modeling

Including notes in your data model improves communication, clarity, and ultimately productivity. We look at several ways to use notes in the Vertabelo data modeler.   In data modeling, it’s often vital to document essential parts by leaving messages for team members or creating a list of tasks that need to be done in a particular part of the model. To achieve this goal, Vertabelo provides the Notes feature. This feature allows you to place small annotations in the model without affecting its structure.

The Best Data Modeling Books

Most of the best books on data modeling were originally written decades ago. But the concepts they discuss are more relevant than ever; in today’s business world, most decisions are made on the basis of well-modeled data repositories. With the rise of NoSQL databases, unstructured information, and Big Data repositories (where quantity seems to be more important than quality), you might think that data modeling is an archaic discipline. That notion can be maintained until inconsistent data, anomalies, and inaccurate reports start to pop up everywhere and you begin losing confidence in your data.

The Benefits of Data Modeling

Don’t put off until tomorrow what you can model today. Every minute you spend building and keeping your data model up to date means hours saved in the future. In my early days as a database designer, I thought data modeling was an unnecessary step that only delayed the time to get the databases up and running. I thought that because, in most cases, databases started with just a few entities – 6 or 7, tops.

What Is Data Modeling?

Have you ever wondered how data modeling works? Data modeling is the process of creating a data model. A data model can be thought of as a blueprint that describes the structure and internal relationships in a database. It is meant to demonstrate how objects within the database interact with each other to fulfill the prescribed business logic. Since relational databases are composed of tables, a data model is a diagram that illustrates the relationship between these tables.

Lessons I’ve Learned from Years of Data Modeling

With age comes wisdom. Take it from someone who has spent a few decades dealing with databases, data models, IT guys, users, and software projects. “The greatest teacher failure is”, Master Yoda said. Decades of making mistakes with databases and data models – and learning from these mistakes – has proved to me that he was right. Yoda also said: “Always pass on what you have learned”. So here I am, passing on some of the lessons I’ve learned from tripping many times over the same data modeling stones.

Why Do You Need Data Modeling?

You need data modeling to save yourself or your organization lots of money, hours, and issues. Read on to find out how data models do its magic. Data modeling is the process of creating a conceptual view of the information a database contains or should contain. As a result of this process, a data model is created, giving form to data objects (all those entities for which information is to be stored), the associations or relationships among them, and rules or restrictions that govern the information that enters the database.

Top 19 Database Modeling Interview Questions

Do you have a database modeling interview coming up? Make sure to prepare to give yourself the best chance of getting the job! Find out what you’ll be asked in addition to “What are your strengths and weaknesses?” and “Where do you see yourself in five years?” So, you’re applying for a data modeling position...congratulations! It is a challenging job that involves great responsibility. Data modelers create a solid foundation for the information systems that manage the vital data of an organization.

Questions to Ask Business Users When Creating a Data Model

Data modeling is the process of creating a structure to store data. Database modeling creates a model of your database; it captures information about the data that must be stored for an application. Applications are tools that implement some sort of business logic, so if we are creating a model of the data required by some application, then data modeling must start with collecting business requirements. If you're unsure about the steps involved in the database design process, I refer you to other articles like the description of database design steps and tips for better database design.

How to Model Inheritance in a Database

Three ways to implement inheritance in a database using the Vertabelo data modeler. Inheritance is a common modeling technique used in modern software development. In data modeling, you can use inheritance in the logical model creation process. However, implementing inheritance in a physical database model is not straightforward; standard SQL does not provide inheritance statements for physical implementation. In this article, we will cover three basic strategies used to implement inheritance in a relational  database.

What Is a One-to-One Relationship in a Database?

What is a one-to-one relationship in data modeling? How do you implement this relationship in a database? The examples in this article will answer these questions. There are three types of relationships between entities (tables) in data modeling: One-to-many relationships (also denoted as 1:M). Many-to-many relationships (M:N). One-to-one relationships (1:1). The most common type of relationship is a one-to-many relationship, where a record in one entity can be referenced by multiple records in another entity.

How to Generate a Physical Diagram from a Logical Diagram in Vertabelo

Have you finished preparing your logical data model in Vertabelo? Awesome! In this article, we'll show you how to generate the physical data model from the logical model in Vertabelo. It’s just a few clicks away. Ready? Let's dive into it. Quick Intro In this article, we'll deal with a slightly modified version of Microsoft's Northwind Database. We often use it in our LearnSQL courses, such as Customer Behavior Analysis in SQL.

What Is a One-to-Many Relationship in a Database? An Explanation with Examples

One-to-many relationships are one of the most common database relationships. If you want to learn when and how to use one-to-many relationships, then this article is a great starting point. You will surely use one-to-many relationships to store information in any relational database, whether you are designing enterprise-level software or just creating a simple database to keep track of your uncle’s stamp collection. A Brief Introduction to the Relational Model Relational databases are a core component of any modern transactional application.

What Is a Many-to-Many Relationship in a Database? An Explanation with Three Examples

What is a many-to-many relationship in database modeling? How do you implement this relationship in a database? The examples in this article will answer these questions. Many-to-many relationships are probably the trickiest relationships to show in a database. So, my first step in this article will be to explain what they are. Then I’ll move on to giving you several examples of many-to-many relationships, keeping them as close to real life as possible.

Common ER Diagram Mistakes

Get to know the ER (Entity Relationship) diagram, its parts, and what often goes wrong when creating it. Have you ever created a relational database model? Or maybe you're trying to create your first one? You know (or you'll soon find out) that translating real-world problems to database logic can sometimes be quite difficult. One of the tools that might help you is the ER diagram. Common database design wisdom holds that the better your ER diagram, the easier it will be to build the database model.

Integrated Transport Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

Track Signals with a Signal Processing Data Model

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.

Designing a Database for a Recruitment System

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.

The Important Dates Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

The 9 Most Common Database Design Errors

You’ve probably made some of these mistakes when you were starting your database design career. Maybe you’re still making them, or you’ll make some in the future. We can’t go back in time and help you undo your errors, but we can save you from some future (or present) headaches. Reading this article might save you many hours spent fixing design and code problems, so let’s dive in. I’ve split the list of errors into two main groups: those that are non-technical in nature and those that are strictly technical.

Facts about Facts: Organizing Fact Tables in Data Warehouse Systems

The process of defining your data warehousing system (DWH) has started. You’ve outlined the relevant dimension tables, which tie to the business requirements. These tables define what we weigh, observe and scale. Now we need to define how we measure. Fact tables are where we store these measurements. They hold business data that can be aggregated across dimension combinations. But the fact is that fact tables are not so easily described – they have flavors of their own.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

Tag: Data type

Data Model Types: An Explanation with Examples

Data modeling is an essential part of designing a database. If you want to achieve the best outcome, make sure to utilize the available data models. Read on to find out more. Every relational database has clearly defined objects and relationships among these objects. Together, they comprise the data model. This article presents the concept of data modeling. First, we’ll go over data modeling and the steps of its process.

What Logical Models Data Types Are Available in Vertabelo?

Logical models define the initial blueprint of your database. Read along to learn how to create them and what attribute data types are available in Vertabelo. In this article, we’ll introduce the logical model. It essentially illustrates the structure of entities, attributes, and relationships in your database. Also, you’ll see the difference between logical and physical models. In the end, we’ll create a logical model in Vertabelo, which will include creating entities with attributes of specific data types.

Setting Database and Data Types in Vertabelo

Data types are very important for correctly storing information in database tables. In this article, we’ll demonstrate how to choose and implement the right data types for the database you’re designing in Vertabelo. When designing a new database or adding tables to an existing database, it’s essential to choose the right data types; they’ll help you run the right queries, functions, and transformations on your data. Well-chosen database data types will also ensure queries have the best performance.

Tip #11 – Vertabelo reports that my data type is not supported. What can I do?

Sometimes you may want to use a data type that is so new that Vertabelo doesn’t recognize it. In such cases, the application displays a warning that the data type is not supported. If you find these warnings too distracting, you can turn them off. In this post, we will show you how to do it. Let’s take a look at the following example. Assume that you have a database model for SQLite 3.

Tip #10 - How to use a data type that is not listed in the data types panel

This one is frequently asked on our support: “In the data types panel, I can’t find the data type I need. Does this mean I cannot use it in Vertabelo?” Of course, you can. Vertabelo will never let you get stuck in a data type dead end. Even if the type you need is not listed, it doesn’t mean you cannot use it. Data types you can find under the button are just the most popular ones.

Database Design 101: Tables, Columns, and Data Types

Vertabelo presents part 2 of our Database Design 101 series that brings you easy-to-understand introduction to databases. This time we will focus on table columns and most commonly used data types. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Tag: Data vault

Building an Information Mart With Your Data Vault

In the 3rd post in this series, we looked at how we prepare data for use with a concept called the Business Data Vault. Now, in this final part, I will show you the basics of how we project the Business Vault and Raw DV tables into star schemas which form the basis for our Information Marts. Raw Data Mart vs. Information Marts As of Data Vault 2.0, the terminology changed a bit to be more precise.

The Business Data Vault

In my last post, we looked at the basics of modeling your data warehouse using the Data Vault 2.0 technique. This time, we get into the details of how we prepare the DV tables for business user access. What is a Business Data Vault? If you have done any investigation into Data Vault on various blogs or the LinkedIn discussion group, you have seen a few terms used that often cause confusion.

Data Vault 2.0 Modeling Basics

In my last post, we looked at the need for an Agile Data Engineering solution, issues with some of the current data warehouse modeling approaches, the history of data modeling in general, and Data Vault specifically. This time we get into the technical details of what the Data Vault Model looks like and how you build one. For my examples I will be using a simply Human Resources (HR) type model that most people should relate to (even if you have never worked with an HR model).

Tag: Data warehouse

Top 10 Data Warehouse Tools

Data warehousing is one of the most important factors in reporting and data analysis; it’s considered the core component of business intelligence. This article will discuss essential data warehouse tools. Building a data warehouse was historically a complex process, requiring lots of infrastructure for data storage. But Cloud computing technology has amazingly reduced the effort and cost of data warehousing. Due to this reason, data warehousing is moving forward with fast, efficient, and scalable Cloud-based tools.

What Are Facts and Dimensions in a Data Warehouse?

Facts and dimensions are the fundamental elements that define a data warehouse. They record relevant events of a subject or functional area (facts) and the characteristics that define them (dimensions). Data warehouses are data storage and retrieval systems (i.e., databases) specifically designed to support business intelligence (BI) and OLAP (online analytical processing) activities. They are different from databases designed to support transactional systems – e.g., e-commerce sites – whose function is primarily OLTP (online transactional processing).

What Is a Data Warehouse?

We help you understand the data warehouse and its concepts. Data and analytics have become indispensable for businesses to remain competitive. Business users rely on reports, dashboards, and analytics to extract insights from data, monitor business performance, and support decision-making. Data warehouses are used to feed these reports, dashboards, and analysis tools. It does so by efficiently storing data to minimize input and output (I/O) and deliver query results quickly to hundreds and thousands of users simultaneously.

OLAP, OLTP, ETL and More: What You Need to Know About Data Warehouses

A data warehouse is a system that uses different technologies – including relational databases – to enable analytical reporting, which aids in tactical and strategic decision-making. Learn about all the key concepts of data warehousing in this article. Understanding how a data warehouse (DWH) works means more than just understanding the database designs for that DWH. You also have to understand online analytical processing (OLAP) and online transaction processing (OLTP) systems and extract-transform-load (ETL) procedures.

What is Amazon Redshift?

Amazon Redshift is one of the most popular cloud databases. Could it be your data-warehouse solution? Read on to find out if Amazon Redshift meets your needs. In 2012, Amazon announced its new cloud database system called Redshift. Basically, it is a data-warehouse solution intended for analytical systems, which can handle huge volumes of data—up to 1 petabyte (1024 TB). Amazon Redshift is available as a service (Database as a Service) and is a part of a bigger cloud ecosystem called Amazon Web Services (AWS).

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

Dimensions of Dimensions: A Look at Data Warehousing’s Most Common Dimensional Table Types

When we start a data warehousing project, the first thing we do is define the dimensional tables. Dimensional tables are the interesting bits, the framework around which we build our measurements. They come in many shapes and sizes. In this article, we are going to take a closer look at each type of dimensional table. Dimensional tables provide context to the business processes we wish to measure. They tell us all we need to know about an event.

Facts about Facts: Organizing Fact Tables in Data Warehouse Systems

The process of defining your data warehousing system (DWH) has started. You’ve outlined the relevant dimension tables, which tie to the business requirements. These tables define what we weigh, observe and scale. Now we need to define how we measure. Fact tables are where we store these measurements. They hold business data that can be aggregated across dimension combinations. But the fact is that fact tables are not so easily described – they have flavors of their own.

Improve Your Financial Reporting With Data Warehousing

Financial institutions, especially banks, usually have really large datasets. To use that data, it must be stored in such a way that it is easily available for generating reports. The trend now is to use a data warehouse to store all your relevant data, and to use smaller data marts (subsets of the warehouse) to keep specific data sets in a convenient place. But where to start? In this article, we’ll look at one possible solution, similar to a project I worked on in the past.

Star Schema vs. Snowflake Schema

In the previous two articles, we considered the two most common data warehouse models: the star schema and the snowflake schema. Today, we’ll examine the differences between these two schemas and we’ll explain when it’s better to use one or the other. The star schema and the snowflake schema are ways to organize data marts or entire data warehouses using relational databases. Both of them use dimension tables to describe data aggregated in a fact table.

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

13 Blog Articles on Database Design Best Practices and Tips

There’s a lot to keep in mind when you’re designing a database, and very few of us can remember every valuable tip and trick we’ve learned. So, let’s take a look at some online resources that feature database design tips and best practices. As we go, I’ll share my own opinions on the ideas presented, based on my experience in database design. Obviously, this article is not an exhaustive list, but I’ve tried to review and comment on a cross section of sources.

Data Vault 2.0 Modeling Basics

In my last post, we looked at the need for an Agile Data Engineering solution, issues with some of the current data warehouse modeling approaches, the history of data modeling in general, and Data Vault specifically. This time we get into the technical details of what the Data Vault Model looks like and how you build one. For my examples I will be using a simply Human Resources (HR) type model that most people should relate to (even if you have never worked with an HR model).

Tag: Database

Top 10 Online Communities for Database Designers

Exploring online communities for database designers: navigating through the best forums and networks for professional growth and learning In the dynamic landscape of database design, the continuous evolution of knowledge and best practices is a journey, not a destination. For the database designer, this journey is punctuated by the rich interactions and exchanges found within various online communities. These digital forums, ranging from expansive generalist networks to specialized niches, are more than just repositories of information; they are vibrant ecosystems where ideas flourish and professional growth is nurtured.

How to Migrate Your Database

Migrating a database between two different schemas involves serious risks to data integrity and application availability. Read this article to learn data migration best practices and ensure satisfactory results. Database schemas are constantly evolving. This evolution can be a consequence of many reasons, including version changes in an application that uses the database, refactoring processes to improve database design, or the integration of different applications. As database designers, we commonly face the challenge of migrating a database to a new schema.

What Is a Database Diagram?

A database diagram is essentially an abstract graphical representation of the structure of a database. It can be used both as a tool to assist in the design of a database and as a document that shows the structure of an existing database. You can think of a database diagram as a poster that you stick on a wall for programmers to look at when they need to know the name of a table or column.

A Beginner’s Guide to Database Security

How do database pros guard against data breaches? A quick overview of database security essentials: authentication, encryption, user access, and more. Some time ago, I came across WIRED's article on the data breach at Vastaamo, a Finnish mental health provider network. It read like a cyberthriller: someone hacking into a massive database of patients' deepest, darkest secrets and using them to blackmail the company, the individual patients, and the community as a whole.

What Is the Best Design for an Address Database Model?

Find out how to build an address data model for different business needs. Address modeling in a database can be tricky: what's the best way to split the data (street, city, state, etc.)? Is normalization more critical than performance? What ERD and data modeling tools do I use?  When should I use domain acronyms and values ? Will the address structure meet all the business needs? Are these decisions the best for the project?

When to Choose SQL vs. NoSQL Databases for Your Project

NoSQL databases promise flexibility and performance benefits for certain use cases. But is it worth leaving behind the relational database comfort zone that guarantees consistency and organization? Read on and find the answers to the NoSQL vs. SQL database debate. We probably all agree on the most basic definition of what a database is: a repository of information organized in such a way as to make it easy to update, search, and read.

5 Important Database Concepts for the Software Engineer

If you have this guide at hand at all times, you don’t need to distract your database experts every time a data need arises during a software development process. Software engineering jobs are a good fit for people capable of dealing with diverse concepts. These concepts range from requirements analysis, team leadership, project management, scripting languages, testing techniques, to continuous integration, just to name a few. Then, there are a bunch of important database concepts for a software engineer to know: normalization, denormalization, SQL, No-SQL, ERDs, query optimization, etc.

A Data Model for an Online Musical Equipment Shop

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.

An Antique Store Data Model

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.

The Proper Way to Handle Multiple Time Zones in MySQL

In this article, I’ll walk you through some fundamental considerations for working with date- and time-related data in MySQL. We’ll also look at how to handle multiple time zones and daylight saving time changes. Let’s first address some core concepts that will help us understand the underlying complexity of time-related data. It is important to notice that these concepts apply when representing a point in time rather than an absolute duration.

A Project Management Data Model

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!

Again and Again! Managing Recurring Events In a Data Model

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.

Does Evolving Contact Information Mean Changing Your Database?

There are a number of ways to contact someone these days, right? We have various phones: mobile and landline, personal and work. We have different addresses – residential, mailing, billing, business, etc. – and likely several email addresses, too. Don’t forget Skype and various messaging apps. Now add in LinkedIn and Facebook –which by the way, both have their own messaging elements. Not that long ago, many of these didn’t exist.

Five Common Dimensional Modeling Mistakes and How to Solve Them

When designing your dimensional model, it is worthwhile to watch out for mistakes that commonly occur during the process. Specifically, they can occur in the relationships between tables, both in fact-to-dimension and dimension-to-dimension relationships. In this post, we’re going to take a closer look at five common modeling mistakes and what you can do about them. As you start a BI-related project, bulletproof dimensional design is hugely important. What makes a design bulletproof is the early mitigation of common design mistakes.

Facts about Facts: Organizing Fact Tables in Data Warehouse Systems

The process of defining your data warehousing system (DWH) has started. You’ve outlined the relevant dimension tables, which tie to the business requirements. These tables define what we weigh, observe and scale. Now we need to define how we measure. Fact tables are where we store these measurements. They hold business data that can be aggregated across dimension combinations. But the fact is that fact tables are not so easily described – they have flavors of their own.

Database Modeling Course (2)

You’re finally ready to get down to real data modeling. We’ll start off with entities and their attributes. Entities are the basic building block of every data model. In this post, you’ll find out what they are and how to identify them. What Is an Entity? What is a Specific Instance of an Entity? Data models help us to identify what kind of information we’ll store in our system. We use such models to address the question What will the data in our system be about?

Naming Conventions in Database Modeling

What’s In A Name? The Database Edition Database models require that objects be named. While several facets of naming an object deserve consideration, in this article we’ll focus on the most important one: defining a convention and sticking to it. Why Use Naming Conventions? Look at the database model below. I went a bit overboard and removed as many traces of a naming convention as I could. This proves my first point: a naming convention is an important part of a well-built data model.

Building an Information Mart With Your Data Vault

In the 3rd post in this series, we looked at how we prepare data for use with a concept called the Business Data Vault. Now, in this final part, I will show you the basics of how we project the Business Vault and Raw DV tables into star schemas which form the basis for our Information Marts. Raw Data Mart vs. Information Marts As of Data Vault 2.0, the terminology changed a bit to be more precise.

Creating Tables for Products and Services

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.

Interesting Changes in MySQL 5.7

The General Availability version of MySQL is still version 5.6, but the development release of MySQL 5.7 definitely introduces some exciting changes to the world of database management systems. Is it worth giving a try? In this article, we’ll have a closer look at a few brand-new features that may help you decide to do so. Native JSON Support JSON (short for Java Script Object Notation) is a format for storing information which can be a good alternative to XML.

The Business Data Vault

In my last post, we looked at the basics of modeling your data warehouse using the Data Vault 2.0 technique. This time, we get into the details of how we prepare the DV tables for business user access. What is a Business Data Vault? If you have done any investigation into Data Vault on various blogs or the LinkedIn discussion group, you have seen a few terms used that often cause confusion.

Database Model for a Messaging System

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.

Applying Simple Access Control to a Small Data Model

“Information is the lifeblood of any organization…” We hear a lot of statements like this, or about an “information age,” or an “information economy.” When we agree with belief that amplifies the importance of information in the world today, we have to consider how to make that all-important information secure. Who can see my bank account? Was the facilities maintenance contract lost? Why can’t I get the latest lab report?

Data Vault 2.0 Modeling Basics

In my last post, we looked at the need for an Agile Data Engineering solution, issues with some of the current data warehouse modeling approaches, the history of data modeling in general, and Data Vault specifically. This time we get into the technical details of what the Data Vault Model looks like and how you build one. For my examples I will be using a simply Human Resources (HR) type model that most people should relate to (even if you have never worked with an HR model).

Database Modeling Course (1)

Data modeling is an essential step in the process of creating any complex software. It helps developers understand the domain and organize their work accordingly. In this article, which begins a new series devoted to database modeling, we’ll try to convince you why you should include it in your projects and what it looks like. Do I Really Need Data Modeling? As a novice developer, you often start your programming adventure with simple applications like the sieve of Eratosthenes or enumerating the Fibonacci sequence.

Modeling a Database for Recording Sales. Part 1

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.

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

What Is the Actual Definition of First Normal Form (1NF)?

The First Normal Form (1NF) is exceptional. The other normal forms (2NF, 3NF, BCNF) talk about functional dependencies and 1NF has nothing to do with functional dependencies. Moreover, we have precise definitions for other normal forms and there is no generally accepted definition of 1NF. Does 1NF Equate to “Atomic Attributes”? When you look at various descriptions of 1NF the word that you see most often is atomic. It is common to say that a relation is in 1NF if all its attributes are atomic.

Tackling Your Troubles – Building a Bug and Problem Database

Death and taxes – add “software problems” to that list of the inevitable. There is always a new issue, a new failure, a new key opportunity that an organization must address. And to avoid repeating the problems, or to revise your prior fixes, it is critical to capture the problems accurately and completely. You need a history of what happened and when. In this piece, we create the logical model for a problem or “bug” reporting system.

Database Model for a Driving School’s Reservation System. Part 2

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.

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.

Designing a Data Model for a Hotel Room Booking System

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.

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

How to Store Authentication Data in a Database. Part 1

How difficult is it to program a user login function for an application? Novice developers think it’s very easy. Experienced developers know better: it is the most sensitive process in your application. Errors in login screens can lead to serious security issues. In this article we take a look at how to store authentication data in your database. The most common way to authenticate users nowadays is with user name and password.

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.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

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 Book Review

Book and Author Importance of Data Model Quality Takeoff Checklist Merciless Review Merciless Humiliation? Is it Agile? Conclusion Book and Author Today I’m going to review “A Check List for Doing Data Model Design Reviews” by Kent Graziano. This publication is available as an e-book on Amazon.com. The book is very short – it will take you less than an hour to read it. But don’t let the small volume mislead you.

How (And How Not) to Decompose Relations

When you read about normalization you usually get the set of conditions that a database in the nᵗʰ normal form should satisfy and the set of rules, a sort of a cook-book, for obtaining that normal form. But why these rules are safe to apply to your denormalized relations is a skip material. Here, I would like to present some elementary concepts on how we decompose relations and what can go wrong.

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.

“Concise Guide to Databases” – briefly about everything

There are books that you plan to read. Then, there are books that you actually started reading and then stopped. Then, there are books you started reading and you hope to finish sometime. The last database book I did read was “Concise Guide to Databases” by Peter Lake and Paul Crowther. As title suggests this is not a book that dwells deeply into one specific aspect of DB theory or technology, quite the opposite.

Designing & Deploying a PostgreSQL Database in the Cloud

Our users sometimes say to us: “Vertabelo is awesome but... how can I add the data?” Oh, come on! Vertabelo is not a database engine or a database administration tool. At least not at the moment. For now, Vertabelo is intended mainly to design database models. This doesn't mean that we don’t care about what you can do next with models created in our application. Of course, we do! That’s why we provide our users with some useful tools on our website and in our GitHub repository.

5 Steps for an Effective Database Model

Database design is the process of producing a detailed model of a database. This model contains the necessary logical (table names, column names) and physical (column datatypes, foreign keys) choices to translate the design into a data definition language (aka SQL), which can be used to create the actual physical database. When I need to create the design for a new database, in other words, the data layer for an application, I follow a few mental steps that I think can help others when they need to go through the same process.

5 Must-Read Database Modeling Books?

I recently realized that our database modeling library could use a few more advanced titles. So I headed over to Amazon to see what they had on offer. There are plenty of introductory books for beginners that tell you how to normalize data, and introduce you to indexes, but what about something for the professional, grown-up database modeler? Here are 5 of the best database modeling books I found (listed in no particular order) that go beyond the basics and come highly recommended by Amazon reviewers.

How to Store Employees’ Schedules in a Database

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:

How Do You Make Your Database Speak Many Languages?

The Scenario You are the owner of an online store, located in Poland. The majority of your customers are from Poland and they speak Polish. But you want to sell your products abroad too and your international customers mainly speak English. So you want your online store to be available in both Polish and English. You also expect that your products will sell well in France, so you anticipate that you’ll have to prepare a French version of the store as well (and maybe Spanish too, because why not?

What Is a Database Index?

Sooner or later there comes a moment when database performance is no longer satisfactory. One of the very first things you should turn to when that happens is database indexing. This article will give you a general overview on what indexes are without digging into too much detail. We’ll discuss additional database index topics in future articles. In general, a database index is a data structure used to improve queries execution time.

Database engine usage by Vertabelo users

The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong. Vertabelo users come from over 100 countries and speak various languages. What unites them? The relational database. Let’s see what relational databases they use: We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.

How to Model Inheritance in a Relational Database

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.

N-ary relationship types

When we design a database, we draw an entity relationship diagram (ERD). It helps us understand what kind of information we want to store and what kind of relationships there are. It is imperative that this diagram is easy to read and understand. The number of entities in a relationship is the arity of this relationship. The aim of this article is to give some examples and show how big an impact the arity of relationships has on not only the readability of the diagram, but also the database itself.

Database Design 101: How to Start Creating a Database Model

In this video you will learn how to start creating your database model. You will find out why nouns are important and how you should handle them when creating a database model. If you want to learn more, read our beginner tutorial on how to create a database model. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.

The Boyce-Codd Normal Form (BCNF)

Why do you need all of this normalization stuff? The main goal is to avoid redundancy in your data. Redundancy can lead to various anomalies when you modify your data. Every fact should be stored only once and you should know where to look for each fact. The normalization process brings order to your filing cabinet. You decide to conform to certain rules where each fact is stored. Nowadays the go-to normal forms are either the Boyce-Codd normal form (BCNF), which we will cover here today, or the third normal form (3NF), which will be covered later.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

On Keys

Today we continue our series of posts on data normalization. In the previous post on data normalization I explained what functional dependency is. Today we will talk about candidate keys in a table. A candidate key is a set of columns such that all other columns in the table are dependent on it, and the set is minimal, that is if you remove a column, then the resulting set is not a candidate key.

On Functional Dependencies

Do you remember the post about update anomalies? I promised you we’d explain how to design tables which have no update anomalies. So here we go! Today we begin a series of posts on data normalization. We will talk about functional dependencies, a concept that needs to be explained before we dive deeply into database schema normalization. The subject is rather abstract and theoretical but I will try to restrain myself from going too deep into mathematics.

Update Anomalies

Let’s take a look at the following table: Customer Purchase date Product name Amount Price Total price Joe Smith 2014-02-14 Yoga mat 1 80 80 Jane Bauer 2014-02-16 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga strap 1 10 10 Thomas Apple 2014-02-18 Dumbbells 2kg 2 30 60 Jane Bauer 2014-02-16 Yoga mat 1 80 80 What’s wrong with this table?

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Database Design 101: References

In this video tutorial you will learn about references – how to create a relationship between the tables, how it affects their structure, and how it looks in the data. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Tables, Columns, and Data Types

Vertabelo presents part 2 of our Database Design 101 series that brings you easy-to-understand introduction to databases. This time we will focus on table columns and most commonly used data types. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

WordPress Database Finally Unveiled!!!

Sorry for that tabloid title, but I couldn’t resist. I’m going to show you how to view the database design of other people’s systems. It will work for legacy systems as well. Of course, you may call show tables and describe table in the database console but that’s a very rudimentary way to examine the structure. You’ll miss a bird’s eye view of the design which is crucial to understanding a system as a whole.

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Database Design 101: What is a Database

Welcome to our new Database Design 101 series that brings you an easy-to-understand introduction to databases. Let’s begin with answering the question what a database is and how data is stored in databases. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Database Model for an Online Store

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.

How to embed a database diagram on the Internet

So I’m sitting here thinking to myself: How should I share a new Vertabelo feature with you? Should I write an over-hyped article full of industry jargon and marketing-speak? Hmmm. Tried and failed. I’ve just gotta show you the feature straight up and how simple it is to use. More meat, little fat, no fluff :). Well tah dah! Here it is: Go ahead, click on it. Use the mouse wheel to zoom.

Theory and History: Why are Relational Databases “Relational”?

Many people wonder why relational databases are called “relational.” Some think that it’s because of a logical entity-relationship model you often start your design with. Or, because you have tables and relationships (aka foreign keys) between them. But that’s not the case. The name comes from the mathematical notion of “relation.” It all started with E. F. Codd who in 1970 (in the article A Relational Model of Data for Large Shared Data Banks) proposed something now called relational algebra as the mathematical foundation of databases.

Good news: we now support views

Today we are happy to announce that Vertabelo has a new feature we've been working on for some time – views. Now you can easily add them to the diagram, change their definition and other properties and have them generated in your SQL scripts. Quick overview of views Let's take a look at how simple it is to create a new view in our editor. Our goal is to make a view which joins three tables as follows:

Five reasons why we built Vertabelo

We are launching a new product on a market, so let me tell you the short story about how and why Vertabelo was born. e-point and I personally have more than fifteen years of experience in building business applications. All of them use relational databases as a storage for their data. Most of those applications are rather big - think about hundreds of tables in a database and hundreds of screens in a UI.

Tag: Database Constraints: What They Are and How to Define Them in Vertabelo

5 Examples of a UNIQUE Constraint in a Relational Database

5 Examples of a UNIQUE Constraint in a Relational Database UNIQUE constraints help guarantee your data model integrity. This article walks you through 5 examples of UNIQUE constraints in a relational database. Relational databases allow us to define different kinds of constraints (like UNIQUE) to implement integrity rules and ensure that data complies with them. UNIQUE constraints guarantee that no duplicate information is entered in a column (or that no set of columns has the same combination of values).

What Are the Different Types of Database Constraints?

Database constraints are a key feature of database management systems. They ensure that rules defined at data model creation are enforced when the data is manipulated ( inserted, updated, or deleted) in a database. Constraints allow us to rely on the database to ensure integrity, accuracy, and reliability of the data stored in it. They are different from validations or controls we define at application or presentation layers; nor do they depend on the experience or knowledge of the users interacting with the system.

What Is a Foreign Key?

What is a foreign key constraint? Why is it important in relational databases? Find out all about foreign keys in this article. A foreign key is a concept that is often used in relational databases. It is a way to create a link between two different tables. A foreign key is a field that refers to another table‘s primary key. Look at the example below: each player is a member of one team.

Database Constraints in SQL Server and How to Model Them in Vertabelo

Database design – including where and how to use constraints – is essential to the correct function of your database. To properly implement database constraints in SQL Server, you must understand all the requirements and execute them accordingly. How would you do this? This article will explain it in detail! To design your database, you need a database blueprint, database constraints, indexes, database design software like Vertabelo – and more.

Constraints in MySQL and How to Model Them in Vertabelo

Before you do anything, you start with designing the database. It includes columns, tables, and relationships among them, as well as constraints. Database constraints play a crucial role in that they let you prevent any undesired data from being stored in a column or table. Let’s see how to make use of database constraints in MySQL. In this article, we’ll go through all database constraints available in a MySQL database:

Constraints in PostgreSQL and How to Model Them in Vertabelo

Database constraints allow you to give a certain shape to your data, tables, and columns. Are you planning to use PostgreSQL as your database? Check out what PostgreSQL constraints can do! In this article, we will go over PostgreSQL’s database constraints and see how to model them in Vertabelo. For each of the constraints, I’ll provide: A definition of the constraint. A usage example. Instructions on how to model the constraint in Vertabelo.

Database Constraints: What They Are and How to Define Them in Vertabelo

Database constraints help us keep our data clean and orderly. Let’s look at the most common database constraints and how to conveniently define them in Vertabelo. It’s a common practice to set rules for the data in a database. Thanks to these rules, you can avoid incorrect data in a column, e.g. a text string in an Age column or a NULL in a Name column. In this article, we’ll dive into SQL’s database constraints: PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, DEFAULT, and CHECK.

Tag: Database design

Database Design for Security: Best Practices to Keep Sensitive Information Safe

Keeping data safe and secure is a top priority for database designers and administrators. Learn how to design a database for security in this article. When designing a database, security should be one of the top aspects to be considered. Databases store sensitive and valuable information, making them an attractive target for malicious actors. Protecting the data and ensuring its integrity and confidentiality are some of the most critical aspects when designing and implementing a database.

Year in Review: Our Best Database Design Articles of 2023

A selection of our top blog articles on database design published in 2023. The realm of database design and management stands at the forefront of technological advancements and industry requirements, especially as we approach 2024 and beyond. This collection of articles – featuring works from experts like Gustavo du Mortier, Radu Gheorghiu, Jorge Sandoval, Martyna Sławińska, Lisandro Fernigrini, and Shamal Jayawardhana – provides a comprehensive overview of the evolving landscape of database design, modeling, and best practices.

Database Design Patterns for 2024

In 2024 and beyond, new types of applications will require you to refresh your arsenal of data modeling techniques. Find out what challenges you will face and what database design patterns you can use to overcome them. It is often said that just when you think you know all the answers, the universe comes along and changes all the questions. The universe of database design is no exception. Just when you think you have all the knowledge you need to design any type of database, new types of applications appear that pose new challenges for database modeling.

Designing A Price History Database Model

Do you need to develop an e-commerce site that stores price history? This step-by-step guide to designing a price history database model will help you get started fast! Designing a price history database for e-commerce or finance can feel like deciphering a complex algorithm. But with the right insights, what seems intricate becomes intuitive. Join us as we delve into the heart of this design process, from laying the foundational blueprints for tracking historical prices in a database to ensuring the model’s dynamic adaptability.

Universal and Timeless Database Design Patterns for 2024 and Beyond

Choosing the right data model pattern is the best way to avoid mistakes and bad decisions when creating a new database schema. To make the right choice, browse through this catalog of current database design patterns and choose the one that best suits your project requirements. Database design patterns are a useful tool to avoid the task of reinventing the wheel with every new database design you face. Since each design pattern offers proven solutions to common needs, it is just a matter of choosing the right pattern and saving yourself the trouble of starting from scratch.

Data Model for a Hotel Management System

Putting hospitality into visual form with a hotel management system ER diagram. Consider a busy hotel with efficient check-in and check-out procedures, careful management of room reservations, and many room assignments. Behind the scenes of this orchestrated harmony, a complex database diagram meticulously guides the delicate interaction of guest data, room availability, and financial transactions. This article delves into the entity-relationship diagram (ER diagram or ERD) for a hotel management system, methodically revealing the countless mechanisms that underpin this operational symphony.

How to Design a Database: Tips and Best Practices from Our Experts

Having a guide of best practices for database modeling always at hand will help you improve the quality of your work. Read the tips and advice in this article to put together your own list of best practices. Then put it where you can see it every day. When you find yourself needing to perform a task that you have never done before, it is always useful to read the advice of someone who has already done it hundreds or thousands of times.

How to Create a Data Model for a Data Warehouse

When faced with the task of creating a warehouse data model, you must understand that the ultimate goal is to create a strategic business tool – not just a simple database. Keep this in mind and read on to find out how to build a successful model for a data warehouse. A data model for a data warehouse (DW) is a conceptual representation of the structure and relationships between the data elements that make up the DW.

What Is a Schema Diagram? A Guide with 10 Examples

A comprehensive guide to database schema diagrams, with 10 illuminating examples. A schema diagram is a compelling visual representation of a database system's structure and organization. It functions as a blueprint for how entities, attributes, and relationships within a database are interconnected. This article is intended to demystify schema diagrams and provide you with a comprehensive understanding of their purpose and utility. Whether you are a database administrator, a software developer, or simply inquisitive about the inner workings of databases, this guide is for you.

The Power of ERD Diagrams in Database Design: A Step-by-Step Guide for Beginners

What is an entity-relationship diagram? How are they used in database design? And how can you build your own ERDs? Read on to find out. In this article, we will dive into the importance of entity-relationship diagrams (ERDs), why they are essential in database design, and how they enable data organization based on specific relationships. ERDs empower users to extract meaningful insights, establish connections, and generate structural overviews from large datasets.

Why Your Company Needs a Database Modeling Tool

Why do companies use data modeling tools? The short answer: To save costs, gain efficiency and stay competitive in their market. In this article, you’ll learn about all the benefits your company can reap by investing in a leading database modeling tool. Good database modelers need only one tool: their knowledge and ability to conceive data models that solve real-world problems. Eventually, they need to translate their designs into artefacts that help communicate ideas and concepts.

Creating a Database Model for an Inventory Management System

In this article, we’ll use the Vertabelo online data modeler to design a data model for an inventory management system. Do you need to create and implement a database for an inventory management system? In this article, we’ll walk you through a generic inventory management system database model. No two  organizations are the same; they all have their unique requirements and needs. So, this database design may require adjustments or modifications based on your own organization requirements, preferred inventory counting method, and your local legal or industry regulations.

Creating a Database Design for a Banking System

This article will guide you through the necessary steps to create a database model for a banking system. We’ll use the Vertabelo online data modeler to define all the required entities and the relationships between them. Bank legislation varies from country to country, and not all banks offer the same products and services. In this article, we’re going to create a generic ER diagram for a banking system. This database design may require adjustments or modifications based on your own requirements and your local legal and industry regulations.

Understanding Entity-Relationship Diagrams (ERDs) and Their Applications in Database Design

What is an entity-relationship diagram? How do you use it in database design and data modeling? This article will answer those questions. Entity-relationship diagrams (also known as ER diagrams or ERDs) are potent data model visualization tools used in system analysis and database design to depict the structure and relationships between entities. This article provides a comprehensive overview of ERDs, including their definition, purpose, and practical applications. We will also investigate how dedicated ER diagram tools like Vertabelo can facilitate the creation and administration of ERDs.

Top 10 Database Design Tools for Mac

Hey Mac users! Need an efficient data modeling solution? In this article, we unveil the top 10 database design tools for Mac OS. Database design is a critical aspect of software development, and having the right tools can significantly streamline the process. If you're a Mac user, you're in luck; numerous powerful and user-friendly database design tools are available for your operating system. In this article, we will explore the top 10 database design tools specifically designed for Mac users.

Top 11 Best Practices for Database Design

What are the most important commandments of database design? Find out in this article! Make sure that every one of your designs meets these set of best practices for database design and your database will always run smoothly and swiftly. To become a database designer, you must invest a lot of time and effort. To learn database design, you must take courses, get a degree, read books, keep up with the latest trends, and practice a lot.

Top 8 Database Tools for SQL Server

A database specialist needs the best toolkit for designing databases. Developers use these tools through all stages of any database development project. Continue reading for more about the best database tools for SQL Server. As databases have become essential in the modern era of technology, database development is now a vital aspect of software development. Microsoft SQL Server is one of the best-liked database management systems (DBMS) among database developers and plays a big part in this.

What Is an ERD in Database Design?

In this article, we’ll walk you through the steps of creating an entity-relationship diagram (ERD). We’ll explain when you need to use an ERD and what notations and tools are used to build ER diagrams. An entity-relationship diagram (or ERD) is a visual representation of entities and their relationships in a database. ERDs are created during the data modeling phase of software development, where database designers plan and organize data structures.

How to Learn Database Design in 2024

The variety of ways to learn database design is enormous. Books, courses, blogs, forums, videos… the list goes on. Our recommendations will help you choose the option that best suits your needs The number of database design learning options is enormous, but there is also a great variety in terms of the money, time, and effort that you must dedicate to them. There are free learning options and very expensive ones; there are some that only take a couple of hours of your time and others that require months of study.

Where to Find Database Schema Examples

Database schema examples are easy to find. But not all of them will meet your needs. Here’s how to find helpful examples of database design. Database schema examples are easy to find. A Google search will return millions of results. The problem is that you don’t need millions of sample database models. You need at most two or three that solve your specific needs. What you should look for is a curated list of database schema examples and learning resources.

How to Create a Database Diagram in SQL Server

Learn how to create a database diagram using a data modeling tool for SQL Server. Microsoft SQL Server is one of the most popular database management systems (DBMS) among database developers. It’s used by many large organizations for a variety of databases. So, it is worth learning how to create a database diagram in SQL Server. A perfect database starts with a great database model. If the database is a skyscraper, the data model is the foundation.

Top 23 Database Schema Design Interview Questions

Got a job interview coming up? If you know you’ll be talking about database design, make sure you can answer these questions on database modeling and schemas. Job interviews typically cover core knowledge areas, but the interviewer also often throws in some questions on tricky topics. We’ll help you prepare by going over these common database schema design questions that cover both basic and more advanced topics. Basic Database and Data Modeling Questions The following database schema design interview questions can be considered basic or beginner level.

7 Tips to Improve Your Database Diagram Layout

A neat, well-organized database diagram is more than just eye candy. It can also increase team productivity by facilitating the understanding of a data model and reducing meeting and training times. A database diagram serves multiple functions. On one hand, it is the foundation for creating the structure of an operational database in a database management system. On the other hand, it is a communication, documentation, and guidance tool that must endure and evolve over time.

Top 7 Database Diagram Tools for Linux

What is the best database diagram tool for Linux? This post will help you find out – and potentially save you time, frustration, and money! Data modeling is a crucial component of any database development project. Your database project could fail if you move forward without a suitable data model. You can learn more about why you need data modeling here. It's crucial to select the best ER diagram tool for your project.

A Detailed Guide to Database Schema Design

When you don't have a guide, certain tasks seem more difficult than they really are. In this article, I offer you a complete database design guide so you won’t get lost when trying to build a robust and effective database. A database schema is basically an abstract concept. Even so, it’s better to think of it as a practical tool that helps you create structures to turn large amounts of data into something useful.

Create an Online Data Model in 4 Steps

Learn how to use four simple steps and a data modeling tool to create a database diagram online. Creating database diagrams (aka data modeling) is an essential part of modern database development projects. A good data model is to a database what a strong foundation is to a skyscraper. Due to the availability of modern data modeling tools, this has become a straightforward process. What Is Data Modeling? Data modeling is the process of identifying and graphically representing the data elements and entities along with their attributes, relationships, operations, etc.

The Ten Best Database Diagram Tools for SQL Server

Understand the best SQL Server modeling tools for your needs based on differences in features and the value for the money. In this article, we discuss ten database diagram tools for SQL Server. Creating robust database models is critical in ensuring the database meets the needs. Microsoft SQL Server, or SQL Server, is one of the most used proprietary relational databases. It supports various applications, business intelligence, and analytics in corporate IT environments.

A Database Design for User Profiles

Almost all applications allow users to log in and create a customized profile. So when you build an application, you should spend some time thinking about where to store the data and how to design the user profile database. In this article, we’ll design an efficient database model for user profiles. In this article, we’ll take you step-by-step through a database model for storing user profile data. We’ll start with the thought process and lead you from formalizing the idea to the final data model.

Database Design for a Learning Management System

In this guide, you’ll find all the necessary steps to create the perfect database design for a learning management system. A database design for a learning management system must be able to gather and relate information about courses, course categories, students, course enrollments, teachers, classes, attendance, exams, and scores. Once you have this information in a database, you can use it to query relevant data and obtain all kinds of analytics, such as attendance rates per course and per teacher, pass rates, and score averages.

How to Draw a Database Schema from Scratch

“The discipline of writing something down is the first step toward making it happen”, said Lee Iacocca, the famous automobile executive. So if you want a thorough database schema, you should start by writing it down. Database designers can suffer from blank page syndrome – the problem writers have when they don’t know how to start a novel. But luckily, we designers can go down a more methodical path. Unlike writers, we don’t need to wait for a sudden inspiration to propel us forward.

Database Design for Online Survey Systems

In this article, we review the steps for creating a database design for an online survey system using Vertabelo Data Modeler. Learn how to create a logical database model, add all the entities and relationships required, and then transform it into a physical database model by generating the SQL scripts to implement it on your database of choice. This article explains the tasks to create a database model for an online survey system, step by step.

What Is a Database Schema?

A database schema is used to define the structure of the tables and the relationships among them, the data types, and the constraints in a relational database. Sometimes, the word schema is synonymous with the entire database. In this article, we go through the concepts that define a database schema and how these concepts are represented in Vertabelo. A database schema is the logical ordering and organizing of the elements and the data in a database.

Top 7 Database Schema Design Tools

Database schema design tools are essential in your toolkit if you are a database professional. Your database development journey begins with these tools. Let's read on to find out the top database schema design tools. This article lists my top database schema design tools with their key features. These tools are important since we start our database development journey with data modeling using a database design tool. Data modeling is a step-by-step process of arranging data entities in an information system, starting from concepts up to building your physical database.

Let's Create a Database Design for a Library System!

Learn how to design a database from scratch for a library system. Try your hand at database design! Are you interested in a job as a database designer? Imagine that we are planning to develop a software application to manage a local library. You need a library database model! The database designer needs to gather business requirements from the client and decide what data needs to be stored and how.

How to Create a Database Diagram from a DDL

A database diagram, aka ER diagram, is a certain type of flowchart used in database design. It describes the entities and how they relate to one another. Vertabelo lets you create an ER diagram for your database by importing a DDL file. Read on to find out more. This article introduces what a DDL file is and why ER diagrams are an essential tool in the database development process. In the end, I’ll show you how to import a DDL file into Vertabelo to get an ER diagram of your database.

What is the Difference Between a Database Designer and Data Analyst?

Database designers work with data structures and data flows, while data analysts extract insights from huge amounts of data. Both careers have similarities and differences, and pros and cons. Read along to decide which one is the best fit for you. Do you like data, but find it hard to decide how you prefer to work with it? You have (at least) two paths to choose from: be the one who designs the structures to store and process the information, or be the one who analyzes large volumes of data in order to extract the truths hidden in them.

Database Design for Multi-Language Applications

While some software systems are used by a limited number of users speaking the same language, most organizations need to unify and centralize their applications to be used by people speaking different languages all around the world. Multilanguage databases present an additional level of difficulty in designing and implementing data models. In this article, we suggest some approaches for dealing with this challenge. What Information Do We Need to Store in Multiple Languages?

Best Practices for Multi-Language Database Design

To implement multi-language support in your data model, you don’t need to reinvent the wheel. This article will show you the different ways to do it and help you choose the one that works best for you. The concept of localization is vital to the development of a software application, particularly when that application’s scope is global. Support for multiple languages is the main aspect to consider; a database design that supports a multi-language application allows you to diversify your target markets and thus reach many more customers.

How to Model for Easy Database Maintenance

You may think database maintenance is none of your business. But if you design your models proactively, you get databases that make life easier for those who have to maintain them. A good database design requires proactivity, a well-regarded quality in any work environment. In case you are unfamiliar with the term, proactivity is the ability to anticipate problems and have solutions ready when problems occur – or better yet, plan and act so that problems don’t occur in the first place.

What Does a Database Designer Do?

A database designer’s job is to translate the client’s business requirements into a data model that not only stores the business data correctly but also supports the processes that use the data. A database designer, sometimes called a database architect or a data officer, is responsible for designing the databases in an organization. He/she carefully evaluates the business requirements and drafts the data models. Then, initial discussions with the business occur to validate the understanding of the data and the business processes.

How to Become a Database Designer

Database modeling has some science, some art, a lot of techniques, and quite a bit of general wisdom. All good database modelers study a lot, practice a lot, cultivate creativity, and develop interpersonal skills. The road to becoming a database designer may seem arduous. But if you enjoy working with data, giving structure where there seemingly is none, and helping people find hidden truths in tides of information, you will definitely find the journey enjoyable.

Database Design for Audit Logging

Thinking of a database design for audit logging? Remember what happened to Hansel and Gretel: they thought leaving a simple trail of breadcrumbs was a good way to trace their steps. When we design a data model, we are trained to apply the philosophy that now is all that exists. For example, if we design a schema to store prices for a product catalog, we may think that the database only needs to tell us the price of each product at the present moment.

What Skills and Knowledge Do Database Designers Need?

Feeling overwhelmed by the amount of time it will take you to learn to be a database designer? Read about the essential skills and talents you’ll need – it’s not so terrible! When you walk down the aisles of the supermarket, shopping cart in one hand and grocery list in the other, what are you thinking? If you're like me, you're imagining how to improve the organization of the shelves so that your weekly shopping is less time-consuming.

Why Do You Need Data Modeling?

You need data modeling to save yourself or your organization lots of money, hours, and issues. Read on to find out how data models do its magic. Data modeling is the process of creating a conceptual view of the information a database contains or should contain. As a result of this process, a data model is created, giving form to data objects (all those entities for which information is to be stored), the associations or relationships among them, and rules or restrictions that govern the information that enters the database.

What Is a Candidate Key in Database Design?

A candidate key is an important concept in database normalization. Read on to find out what a candidate key is and how to check if a set of attributes is a candidate key. The candidate key, also simply called a key, is an important part of database design. It is the theoretical foundation for technical concepts like primary and alternate (unique) keys. Every database designer should be aware of how to identify candidate keys and how to choose the right one for their table.

Database Design With Vertabelo

Database design goes way beyond just drawing lines and boxes. In this article, I reflect on the process of data modeling with an emphasis on best practices, as well as on how to use tools to implement those best practices to create a good database design. Database design is the process of producing a detailed model of a database. The start of database modeling involves getting a grasp on the business area and the functionality being developed.

What Is a One-to-One Relationship in a Database?

What is a one-to-one relationship in data modeling? How do you implement this relationship in a database? The examples in this article will answer these questions. There are three types of relationships between entities (tables) in data modeling: One-to-many relationships (also denoted as 1:M). Many-to-many relationships (M:N). One-to-one relationships (1:1). The most common type of relationship is a one-to-many relationship, where a record in one entity can be referenced by multiple records in another entity.

What Is a One-to-Many Relationship in a Database? An Explanation with Examples

One-to-many relationships are one of the most common database relationships. If you want to learn when and how to use one-to-many relationships, then this article is a great starting point. You will surely use one-to-many relationships to store information in any relational database, whether you are designing enterprise-level software or just creating a simple database to keep track of your uncle’s stamp collection. A Brief Introduction to the Relational Model Relational databases are a core component of any modern transactional application.

What Is a Many-to-Many Relationship in a Database? An Explanation with Three Examples

What is a many-to-many relationship in database modeling? How do you implement this relationship in a database? The examples in this article will answer these questions. Many-to-many relationships are probably the trickiest relationships to show in a database. So, my first step in this article will be to explain what they are. Then I’ll move on to giving you several examples of many-to-many relationships, keeping them as close to real life as possible.

Common ER Diagram Mistakes

Get to know the ER (Entity Relationship) diagram, its parts, and what often goes wrong when creating it. Have you ever created a relational database model? Or maybe you're trying to create your first one? You know (or you'll soon find out) that translating real-world problems to database logic can sometimes be quite difficult. One of the tools that might help you is the ER diagram. Common database design wisdom holds that the better your ER diagram, the easier it will be to build the database model.

Integrated Transport Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

A Public Opinion Agency Data Model

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.

Track Signals with a Signal Processing Data Model

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.

A Library Data Model

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!

Designing a Database for a Recruitment System

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.

A SaaS Subscription Data Model

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.

The Important Dates Data Model

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.

A Peer-to-Peer Lending Platform Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

The 9 Most Common Database Design Errors

You’ve probably made some of these mistakes when you were starting your database design career. Maybe you’re still making them, or you’ll make some in the future. We can’t go back in time and help you undo your errors, but we can save you from some future (or present) headaches. Reading this article might save you many hours spent fixing design and code problems, so let’s dive in. I’ve split the list of errors into two main groups: those that are non-technical in nature and those that are strictly technical.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

A Grocery Delivery Data Model

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.

Tap and Park: A Parking App Data Model

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.

A Children’s Party Data Model

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.

A Restaurant Delivery Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Wedding Organization Data Model

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 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.

Modeling an Open Marketplace for Education

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.

A Pet Care Data Model

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.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

Improving Our Online Job Portal Data Model

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.

Designing a Database for an Online Job Portal

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.

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Database Models for E-Commerce Part 1: The Newsletter

In general, people do not like receiving unsolicited e-mails. Nevertheless, they sometimes subscribe to newsletters in order to get a discount or to keep up-to-date with new products. This article will present one approach to designing a newsletter database. Why Worry About Newsletter Emails? Newsletter subscribers represent an extremely valuable group of clients – they are interested in our products, they trust us, and they spend time reviewing our offers and promotions.

Again and Again! Managing Recurring Events In a Data Model

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

Does Evolving Contact Information Mean Changing Your Database?

There are a number of ways to contact someone these days, right? We have various phones: mobile and landline, personal and work. We have different addresses – residential, mailing, billing, business, etc. – and likely several email addresses, too. Don’t forget Skype and various messaging apps. Now add in LinkedIn and Facebook –which by the way, both have their own messaging elements. Not that long ago, many of these didn’t exist.

What Do the Olympic Games, UEFA Euro 2016 Football Matches, and Databases Have In Common?

On hearing what I do, people tend to ask me the same question: Can you develop a system that predicts football match results? Or Olympic medal outcomes? Personally, I don’t put much faith in predictions. Still, if we had a large amount of historical data and relevant indicators, we could certainly design a system to help us come up with more accurate assumptions. In this article, we’ll consider a model that can store the results of matches and tournaments.

Dimensions of Dimensions: A Look at Data Warehousing’s Most Common Dimensional Table Types

When we start a data warehousing project, the first thing we do is define the dimensional tables. Dimensional tables are the interesting bits, the framework around which we build our measurements. They come in many shapes and sizes. In this article, we are going to take a closer look at each type of dimensional table. Dimensional tables provide context to the business processes we wish to measure. They tell us all we need to know about an event.

Party Relationship Pattern. How to Model Relationships

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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.

MMO Games and Database Design

Let’s be honest: we all love to play games, especially on our computers. Until the Internet became widespread, most of us played computer games by ourselves, usually against AI opponents. It was fun, but as soon as you realized how the gameplay mechanics worked, the game lost most of its magic. The development of the Internet moved games online. Now, we can play against human opponents and test our skills against theirs.

Identifying the Bill of Materials (BOM) Structure in Databases

The bill of materials (BOM) design pattern is deceptively simple, yet incredibly powerful. Historically, it’s been employed to model product structures, but the pattern can be used to do much more than simply define a hierarchy. This article will introduce three very different examples to help you to recognize the pattern in your own projects. What Is a Bill of Materials, or BOM? A bill of materials has its roots in manufacturing.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

7 Key Things to Remember About Data Model Globalization

Very few database authors mention the challenges of globalization and localization in any meaningful way. There’s a similar lack of foresight from database architects. The fact is that many authors and designers are frequently very ‘self-centric’: they create (or write about) data models that only properly handle their local time zones, addresses, etc. A self-centric approach has a big problem: the resulting model will only support local data. In today’s Internet-fueled world, applications are often unexpectedly accessed by users around the globe.

What Do Poker, Blackjack, Belot and Préférence Have to Do with Databases?

How to design a database flexible enough to accommodate several very different card games. Recently, we showed how a database could be used to store board game results. Board games are fun, but they’re not the only online version of classic games going. Card games are also very popular. They introduce an element of luck into gameplay, and there is much more than luck involved in a good card game!

Star Schema vs. Snowflake Schema

In the previous two articles, we considered the two most common data warehouse models: the star schema and the snowflake schema. Today, we’ll examine the differences between these two schemas and we’ll explain when it’s better to use one or the other. The star schema and the snowflake schema are ways to organize data marts or entire data warehouses using relational databases. Both of them use dimension tables to describe data aggregated in a fact table.

How to Design a Localization-Ready System

In this era of globalization, companies – including software developers – are always interested in expanding to new markets. This often means localizing their products for different areas. In this article, we’ll explain a few approaches to designing your data model for localization – specifically, for managing content in multiple languages. What Is Localization? Localization is the process of adapting a product to various markets. It is a prominent factor in achieving maximum market share in terms of product sales.

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

Security Approaches in Data Modeling. Part 4

This is the fourth in our multi–part series on data modeling for information security as well as data characteristics. A simple data model for a fictional website that supports shared–interest organizations (bird–watching clubs, etc.) has provided us with content for exploring data modeling from a security viewpoint. In Oscar Wilde’s play Lady Windermere’s Fan, Lord Darlington tags a cynic as “somebody who knows the price of everything, and the value of nothing.

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

Using Configuration Tables to Define the Actual Workflow

The first part of this series introduced some basic steps for managing the lifecycle of any entity in a database. Our second and final part will show you how to define the actual workflow using additional configuration tables. This is where the user is presented with allowable options each step of the way. We’ll also demonstrate a technique for working around the strict reuse of ‘assemblies’ and ‘sub-assemblies’ in a Bill of Materials structure.

Crow’s Foot Notation

The most recognizable characteristic of crow’s foot notation (also known as IE notation) is that it uses graphical symbols to indicate the ‘many’ side of the relationship. The three-pronged ‘many’ symbol is also how this widely-used notation style got its name. Let’s see where crow’s foot is placed in the history of data modeling and take a look at its symbols. History: How Crow’s Foot Notation Got Started The beginning of crow’s foot notation dates back to an article by Gordon Everest (1976, Fifth Computing Conference, IEEE).

Denormalization: When, Why, and How

Databases are designed in different ways. Most of the time we can use “school examples”: normalize the database and everything will work just fine. But there are situations that will require another approach. We can remove references to gain more flexibility. But what if we have to improve performance when everything was done by the book? In that case, denormalization is a technique that we should consider. In this article, we’ll discuss the benefits and disadvantages of denormalization and what situations may warrant it.

Using Workflow Patterns to Manage the State of Any Entity

Have you ever come across a situation where you need to manage the state of an entity that changes over time? There are many examples out there. Let’s start with an easy one: merging customer records. Suppose we are merging lists of customers from two different sources. We could have any of the following states arise: Duplicates Identified – the system has found two potentially duplicate entities; Confirmed Duplicates – a user validates the two entities are indeed duplicates; or Confirmed Unique – the user decides the two entities are unique.

Security Approaches in Data Modeling. Part 3

This is the third of our multi-part series on applying information security approaches to data modeling. The series uses a simple data model, something to manage social clubs and interest groups, to provide the content we look to secure. Later we will address modeling for authorization and user management, as well as other parts of a secure database implementation. In social situations, it’s common to “read between the lines” – deducing the unspoken assumptions and assertions in a conversation.

13 Blog Articles on Database Design Best Practices and Tips

There’s a lot to keep in mind when you’re designing a database, and very few of us can remember every valuable tip and trick we’ve learned. So, let’s take a look at some online resources that feature database design tips and best practices. As we go, I’ll share my own opinions on the ideas presented, based on my experience in database design. Obviously, this article is not an exhaustive list, but I’ve tried to review and comment on a cross section of sources.

Viewing Holidays With Data Modeler’s Eyes

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.

“Is It Secret? Is It Safe?” Handling Sensitive Data in Your Data Modeling

Early in the movie “The Fellowship of the Ring”, the wizard Gandalf asks the hero Frodo this question: “Is it secret? Is it safe?” We may not have a magic ring to protect, but we’re asking the same question. But we’re talking about information. This is the second in a multi-part series on how to apply information security principles and techniques as part of data modeling. This series uses a simple data model designed to manage non-commercial clubs as an example of security approaches.

The Reference Data Pattern: Extensible and Flexible

Having reference tables in your database is no big deal, right? You just need to tie a code or ID with a description for each reference type. But what if you literally have dozens and dozens of reference tables? Is there an alternative to the one-table-per-type approach? Read on to discover a generic and extensible database design for handling all your reference data. This unusual-looking diagram is a bird’s-eye view of a logical data model (LDM) containing all the reference types for an enterprise system.

19 Online Resources for Learning About Database Design Errors

We all make mistakes, and we can all learn from other people’s mistakes. In this post, we’ll take a look at numerous online resources for avoiding poor database design that can lead to many problems and cost both time and money. And in an upcoming article, we’ll tell you where to find tips and best practices. Database Design Errors and Mistakes to Avoid There are numerous online resources to help database designers avoid common errors and mistakes.

WordPress – Behind the Scenes, Part 2

In Part 1 of this series, I demonstrated how to install WordPress locally and how to import a WordPress database into Vertabelo. In this article, we’ll take a closer look at the tables in the WordPress database. A Quick Look at the WordPress Database Model and the Dashboard In the previous part, I imported the WordPress database into our online database modeling tool. For the record, the structure of the database is as follows:

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

Logging in With External Services

Inputting a username and password is one way of accessing an account, but it’s not the only one. In this article, we’ll see how to enable external services (like Google or Facebook) when logging in to a database. What Are External Service Logins? Giving a user the option to access their system accounts through external services is a growing trend among web designers. This option can provide several benefits, such as giving users one less name-and-password combination to remember.

Creating a Data Model for Carpooling

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.

Problem Set 2 – Identifying Entities and Attributes

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities and attributes. Here is the second installment of our problem set. Enjoy. Problem 1: Countries Description: Find the right entities and their attributes to represent all the countries in the world, their interior regions (which can be called states, provinces, or regions) and their cities.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Problem Set 1 – Identifying Entities

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities. Well, here they are. Have fun! Problem 1: Language School Mr. Trotter, the proprietor of a rapidly-growing language school, wants to introduce a new system in his company.

Database Modeling

I wrote a song about dental floss but did anyone’s teeth get cleaner? Frank Zappa When we think of the dental office, our first associations are the drill, the pain, and the fear. OK, that sounds bad. Besides taking care of teeth, a dentist has many other obligations that are professional, legal, or both. All of them require proper data management. To meet this documentation requirement, many dental and medical offices use paper records.

How Does Database Design Help Organize Teachers, Lessons, and Students?

An investment in knowledge pays the best interest. Benjamin Franklin In the modern world, education is omnipresent. Now more than ever before, it plays an important role in our society. It’s so important, in fact, that many of us continue our education well after finishing school or college. We have all heard of lifelong learning, non-formal education, and workshops for all ages. These methods differ from formal education in many ways, but they also have things in common.

Database Model for a Messaging System

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.

Modeling a Database for Recording Sales. Part 1

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.

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

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.

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.

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.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

How to Store Employees’ Schedules in a Database

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:

How Do You Make Your Database Speak Many Languages?

The Scenario You are the owner of an online store, located in Poland. The majority of your customers are from Poland and they speak Polish. But you want to sell your products abroad too and your international customers mainly speak English. So you want your online store to be available in both Polish and English. You also expect that your products will sell well in France, so you anticipate that you’ll have to prepare a French version of the store as well (and maybe Spanish too, because why not?

UML Notation

UML is popular for its notations. We all know that UML is for visualizing, specifying, and documenting the components of software and non software systems. What’s more, UML has many types of diagrams which are divided into two categories. Some types represent structural information, others general types of behaviors. Among these, there is one that is commonly used for entity relationship diagrams. In UML, an entity is represented by a rectangle:

Arrow Notation

Arrow notation has become one of the less recognized notations in entity relationships diagrams in recent years. Let’s discuss its elements. Entity and relationships As you can see below, an entity is always represented by a rectangle, which is common to most notations (there isn’t a distinction if it is dependent or independent entity). Relationships and cardinality are represented by various combinations of arrows as the diagram below presents.

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Chen Notation

Continuing our trip through different ERD notations, let’s review the Chen ERD notation. Peter Chen, who developed entity-relationship modeling and published his work in 1976, was one of the pioneers of using the entity relationship concepts in software and information system modeling and design. The Chen ERD notation is still used and is considered to present a more detailed way of representing entities and relationships. Entities An entity is represented by a rectangle which contains the entity’s name.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

ERD Notations in Data Modeling

An entity relationship diagram (ERD) is a diagram that defines the structure of database instances. Choosing which notation to use is typically left up to personal preference or conventions. Here, you can find some useful information about each notation: Part 1 – Barker’s Notation Part 2 – Chen Notation Part 3 – IDEF1X Notation Part 4 – Arrow Notation Part 5 – UML Notation Part 6 – Crow’s Foot Notation Which ERD notation are you using?

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Database Design 101: Database Model for an Online Store

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.

Tag: Database design 101

Problem Set 2 – Identifying Entities and Attributes

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities and attributes. Here is the second installment of our problem set. Enjoy. Problem 1: Countries Description: Find the right entities and their attributes to represent all the countries in the world, their interior regions (which can be called states, provinces, or regions) and their cities.

Problem Set 1 – Identifying Entities

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities. Well, here they are. Have fun! Problem 1: Language School Mr. Trotter, the proprietor of a rapidly-growing language school, wants to introduce a new system in his company.

Database Modeling Course (2)

You’re finally ready to get down to real data modeling. We’ll start off with entities and their attributes. Entities are the basic building block of every data model. In this post, you’ll find out what they are and how to identify them. What Is an Entity? What is a Specific Instance of an Entity? Data models help us to identify what kind of information we’ll store in our system. We use such models to address the question What will the data in our system be about?

Database Modeling Course (1)

Data modeling is an essential step in the process of creating any complex software. It helps developers understand the domain and organize their work accordingly. In this article, which begins a new series devoted to database modeling, we’ll try to convince you why you should include it in your projects and what it looks like. Do I Really Need Data Modeling? As a novice developer, you often start your programming adventure with simple applications like the sieve of Eratosthenes or enumerating the Fibonacci sequence.

What Is the Actual Definition of First Normal Form (1NF)?

The First Normal Form (1NF) is exceptional. The other normal forms (2NF, 3NF, BCNF) talk about functional dependencies and 1NF has nothing to do with functional dependencies. Moreover, we have precise definitions for other normal forms and there is no generally accepted definition of 1NF. Does 1NF Equate to “Atomic Attributes”? When you look at various descriptions of 1NF the word that you see most often is atomic. It is common to say that a relation is in 1NF if all its attributes are atomic.

How (And How Not) to Decompose Relations

When you read about normalization you usually get the set of conditions that a database in the nᵗʰ normal form should satisfy and the set of rules, a sort of a cook-book, for obtaining that normal form. But why these rules are safe to apply to your denormalized relations is a skip material. Here, I would like to present some elementary concepts on how we decompose relations and what can go wrong.

How to Model Inheritance in a Relational Database

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.

N-ary relationship types

When we design a database, we draw an entity relationship diagram (ERD). It helps us understand what kind of information we want to store and what kind of relationships there are. It is imperative that this diagram is easy to read and understand. The number of entities in a relationship is the arity of this relationship. The aim of this article is to give some examples and show how big an impact the arity of relationships has on not only the readability of the diagram, but also the database itself.

Database Design 101: How to Start Creating a Database Model

In this video you will learn how to start creating your database model. You will find out why nouns are important and how you should handle them when creating a database model. If you want to learn more, read our beginner tutorial on how to create a database model. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.

The Boyce-Codd Normal Form (BCNF)

Why do you need all of this normalization stuff? The main goal is to avoid redundancy in your data. Redundancy can lead to various anomalies when you modify your data. Every fact should be stored only once and you should know where to look for each fact. The normalization process brings order to your filing cabinet. You decide to conform to certain rules where each fact is stored. Nowadays the go-to normal forms are either the Boyce-Codd normal form (BCNF), which we will cover here today, or the third normal form (3NF), which will be covered later.

On Keys

Today we continue our series of posts on data normalization. In the previous post on data normalization I explained what functional dependency is. Today we will talk about candidate keys in a table. A candidate key is a set of columns such that all other columns in the table are dependent on it, and the set is minimal, that is if you remove a column, then the resulting set is not a candidate key.

On Functional Dependencies

Do you remember the post about update anomalies? I promised you we’d explain how to design tables which have no update anomalies. So here we go! Today we begin a series of posts on data normalization. We will talk about functional dependencies, a concept that needs to be explained before we dive deeply into database schema normalization. The subject is rather abstract and theoretical but I will try to restrain myself from going too deep into mathematics.

Update Anomalies

Let’s take a look at the following table: Customer Purchase date Product name Amount Price Total price Joe Smith 2014-02-14 Yoga mat 1 80 80 Jane Bauer 2014-02-16 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga strap 1 10 10 Thomas Apple 2014-02-18 Dumbbells 2kg 2 30 60 Jane Bauer 2014-02-16 Yoga mat 1 80 80 What’s wrong with this table?

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Database Design 101: References

In this video tutorial you will learn about references – how to create a relationship between the tables, how it affects their structure, and how it looks in the data. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Tables, Columns, and Data Types

Vertabelo presents part 2 of our Database Design 101 series that brings you easy-to-understand introduction to databases. This time we will focus on table columns and most commonly used data types. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: What is a Database

Welcome to our new Database Design 101 series that brings you an easy-to-understand introduction to databases. Let’s begin with answering the question what a database is and how data is stored in databases. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Database Model for an Online Store

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.

Tag: How Much Does a Database Designer Earn?

How Much Does a Database Designer Earn?

If you have chosen to pursue a career as a database designer, I have good news for you. You can aim for a good salary. With time and experience, you may get an even better salary! Reports of the IT market for database designer jobs often vary in salary and growth prospects. But even the most pessimistic analysts agree on good to very good salaries and growth in demand. This makes the prospect for a database designer even better 5 years into the future.

Tag: Database designing tool

Top 6 Tools for Documenting Your Database

Efficient database management relies on effective documentation. In this article, we spotlight six leading database documentation tools, explaining which has the most intuitive interface and rich documentation functionalities. Database documentation tools are instrumental in simplifying database organization and ensuring seamless maintenance. We'll check out the standout features of each tool, highlighting their role in making database documentation accessible and efficient for both beginners and experts. In the field of data management, the significance of documenting databases cannot be overstated.

5 User-Friendly Database Modeling Tools: Database Design Tools with the Best User Interface

Starting with database design can feel a bit intimidating. However, user-friendly database modeling tools can make the complexity manageable and the process smoother. This article compares five database design tools – Vertabelo, DBDesigner, dbdiagram.io, dbDiffo and ERDPlus. These popular ERD tools feature great user interfaces, aiding both beginners and seasoned professionals in turning abstract ideas into well-structured database models. Join us as we investigate the features and collaborative capabilities of these tools that cater to a user-focused database design experience.

The Top 6 Database Design Tools for 2024

Do your plans for 2024 include data modeling or database design? Then check out our list of the top database design tools for 2024! When choosing a database design tool, there are plenty of options available, from online tools offered as an “application as a service” to standalone programs that can be installed on your computer. In this article, we are going to analyze the main features to consider when choosing the best data modeling software – whether it’s online or on your local machine.

The 5 Best Oracle Database Design Tools

Choosing the best Oracle database design tool can be the difference between a streamlined database design process and a complex, frustrating one. Dive deep into this comparative analysis of the top Oracle database modeling tools, from their collaboration capabilities to their model validation strengths. In the complex ecosystem of Oracle, having the right database design tools can dramatically improve workflows and results. Whether you're diving into ERD software or seeking a visual database design tool for Oracle, knowing the features and strengths of each option is crucial.

6 Best MySQL Database Design Tools

Are you trying to choose the best database design tool for your next MySQL project? It’s challenging to pick the right tool for your requirements. This article will guide you in choosing the best MySQL database design tool among the many options on the market. The designing phase is the most critical part of any software project – including database projects. A good database design is like a good building foundation; most project failures are due to the absence of a proper database design.

7 Best PostgreSQL Database Design Tools

Database design is the most important part of any database project, and choosing the best tools for your database project is crucial to its success. In this article, we’ll explore the features of the best design tools for your PostgreSQL database. As we all know, database design or data modeling is the first step in building a database. Data modeling is the methodical process of identifying, classifying, and graphically presenting all the relevant data in an information system.

Top 10 Data Warehouse Tools

Data warehousing is one of the most important factors in reporting and data analysis; it’s considered the core component of business intelligence. This article will discuss essential data warehouse tools. Building a data warehouse was historically a complex process, requiring lots of infrastructure for data storage. But Cloud computing technology has amazingly reduced the effort and cost of data warehousing. Due to this reason, data warehousing is moving forward with fast, efficient, and scalable Cloud-based tools.

Top 6 Online Database Schema Design Tools

Why do you need a database model? And what tools are available to help you in the database design process? We review the best online database schema design tools in this article. One of the key tasks in the software development cycle is data modeling. Creating a good data model allows us to save costs and speed up development, as explained in the article Why Do You Need Data Modeling?

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

Tip #24 – How to name a version of the model

Vertabelo offers you a feature to assign tags to particular versions of your model. It may be used, for example, to match the versions of your database model with the versions of your application. To assign a tag to the current version of the model, click three dots next to your model name if you are working on a diagram and then click Set tag: Enter a tag name and click Set tag.

Tip #23 – How to create a reference to an alternate key

Sometimes, you want the reference between two tables to reference an alternate key and not the primary key. Here's how you can do it in Vertabelo. In this example, we want to model cars and their owners using owner and car tables. The car table has an alternate key consisting of the vin column: We want the owner table to refer to the car table, but using the car table’s alternate key.

Tip #22 – How to identify problems with my model

Vertabelo has a built-in mechanism of live validation that checks your model all the time and gives you hints on how to improve it. Every error, warning or tip is flagged by a dedicated icon that you cannot fail to notice. Within your workspace, the problems are indicated in two places. In the left panel you can review all problems found in your model, while on the right side you’ve got information on problems detected in the currently selected object only.

Tip #21 – How to quickly find a table in a diagram

Do you know the quickest way to find a single table even in the largest diagram you can imagine? The answer is to double click the table’s name in the navigation tree! In the Model structure panel on the left, you’ve got a navigation tree with groups of all elements used in your diagram, including database objects such as tables, references and views, as well as other subsidiary elements like subject areas and text notes.

Tip #20 – How to configure Vertabelo printouts

Sometimes you may want to export your database model to a PDF file, especially for documentation purposes. It often happens that your diagram is larger than the default page size set in Vertabelo. If that's the case, you should configure the printout options in the Format section. Make sure that no element in your diagram is selected. Go to the Model properties panel on the right and expand the Format section which provides some basic formatting parameters.

Tip #19 – How to automatically download SQL script from Vertabelo

If you need to automatically download SQL script from Vertabelo, for example, for the purposes of your build system, you definitely should check out our Vertabelo API. It allows you to download an SQL or XML of your model by a simple HTTP request. In the command line, it may look like this: VERTABELO_API_TOKEN=put-your-api-token-here MODEL_ID=put-your-model-identifier-here curl -u $VERTABELO_API_TOKEN: \ https://my.vertabelo.com/api/sql/$MODEL_ID create-database.sql To learn more about Vertabelo API, go here.

Tip #18 - Display all references between two tables

In our previous Tip #16 and Tip #17 you could have learned that using table shortcuts makes it easier to create a well-laid-out database model. Do you know that references between shortcuts may be shown in the diagram too? Let’s go back to our example from Tip #16. Assume that we have already created all necessary subject areas. Now, we want to put shortcuts of all purchase-related elements in the Purchase subject area.

Tip #17 – Drag a table from the navigation tree and drop it in your diagram to create a shortcut

In our previous Tip #16, we showed you how to create shortcut tables using copy and paste. But did you know that you can create a shortcut of a table with only one move of your mouse? Just find the table in the navigation tree and then drag and drop it in the desired place in your diagram. Let’s assume that you want to create a reference line between two tables that are located quite far away from each other in your database diagram:

Tip #16 – Can I put the same table in the diagram twice?

Yes, you can! Shortcuts combined with subject areas might completely change your approach to database modeling. They allow you to make your diagram much more structured, logically divided and readable. Let’s look at an example. At the beginning, we have a really standard database model for a shop. Open your database model in Vertabelo: Now, we’re going to use subject areas in the model. To start, let’s put the whole model in a subject area:

Tip #15 – How to visually group tables and organize large database models using subject areas

Large models often happen to be quite messy. Using subject areas, you can improve the readability of your model and make it easier to work with. The idea behind subject areas is to group tables inside them according to their purposes – it allows you to create some logical structure in your model and makes navigation through it more natural. Open your database model in Vertabelo: To create a subject area, choose Add new area from the toolbox or press 7 on your keyboard:

Tip #14 – How to create a model preview link and embed the model in a website

When it comes to sharing things like documents or photos with other people, sending files to each other is becoming less and less common – we usually prefer to send links. They are quick, convenient and neither use up disk space nor make a mess in our file system. At Vertabelo, we know how inconvenient it can be to send files and that’s why we created public links for models.

Tip #13 – How to export selected tables as an image

Probably you have already generated an image for your model, but did you know that the image may be generated for chosen elements only? Open your database model in Vertabelo: Select the desired objects with Ctrl + Click or using Select area from the toolbox: Click Export model to image in the top toolbar: Select image file type, click Selection and then Generate:

Tip #12 – The quickest possible way to create a new column

From our previous Tip #2 you could learn how to move between columns in your table using just arrow keys. Now, we will show you how to use the Down arrow to create one or even more new columns. Probably, this is the fastest way of creating new columns in this part of the galaxy. You really have to learn this. Open your database model and select the table in which you want to create a new column.

Tip #11 – Vertabelo reports that my data type is not supported. What can I do?

Sometimes you may want to use a data type that is so new that Vertabelo doesn’t recognize it. In such cases, the application displays a warning that the data type is not supported. If you find these warnings too distracting, you can turn them off. In this post, we will show you how to do it. Let’s take a look at the following example. Assume that you have a database model for SQLite 3.

Tip #10 - How to use a data type that is not listed in the data types panel

This one is frequently asked on our support: “In the data types panel, I can’t find the data type I need. Does this mean I cannot use it in Vertabelo?” Of course, you can. Vertabelo will never let you get stuck in a data type dead end. Even if the type you need is not listed, it doesn’t mean you cannot use it. Data types you can find under the button are just the most popular ones.

Tip #9 – How to create multiple references between two tables

Relationships in the real world may not be as easy as we would like them to be. Sometimes we want to model a situation where one table is refering to the other more than once. Luckily, with Vertabelo, this is a piece of cake. Let’s say we want to model a rental agreement between two people: landlord and tenant. In this situation, the rental_agreement table would need to refer to the person table twice – first for the landlord and second for the tenant.

Tip #8 – Setting Your Own Names for Primary Key

Sometimes the naming convention you use requires a specific pattern for the primary keys’ names. That’s why you may want to set your own names for each primary key in your database model instead of using default ones. Go on reading to get to know how to do this in Vertabelo. To give your own name to a primary key, select the table that contains the primary key you want to name:

Tip #7 – How to include comments in SQL script

You can comment on your database objects (tables, columns, views) in Vertabelo. You can also include this metadata in your database, where it can be accessed by your SQL developers or DBAs. Here’s how you can do it. Go to your database model: Click SQL generation settings in the Model properties panel on the right: Check the Include comments for database objects option: Let’s try out how it works.

Tip #6 – How to Create a Multicolumn Primary Key

Primary keys may contain more than one column. Multicolumn primary keys are frequently used for junction tables, which are used to model many-to-many relationships. Select a table: In the Table properties panel on the right, check all the columns that you want inside the key: Now, you have a multicolumn primary key created: You can check out your SQL code by clicking the SQL preview button in the top right corner:

Tip #5 – How to quote table names in generated SQL script

Sometimes, you want all identifiers in your SQL script to be quoted. For example, you want them to have a particular case. Luckily, Vertabelo allows you to quote all SQL identifiers in your generated script to prevent you from any SQL name conflicts. Go to your model: Click the SQL generation settings tab in the Model properties panel on the right: Check Quote all SQL identifiers:

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

Tip #3 - How to copy table between models

Did you know that you can copy tables between models in Vertabelo? It’s useful for instance with tables that appear in almost every database model like user_account, address, client or product, or with tables that are specific for your domain. You don’t have to create all these tables from scratch. Open the model which contains the tables you want to copy and click to select them. Note that you can hold down the Ctrl key if you want to select objects located in different parts of your model:

Tip #2 - Keyboard shortcuts in Vertabelo

Would you like to make your database modeling faster and more convenient? Of course you would! One way to achieve this is to learn your database modeling tool’s keyboard shortcuts. To check them when working in Vertabelo, press Ctrl + I. They can be grouped into several categories/tabs. Our favourite Vertabelo shortcuts Down arrow in the Columns section Did you know that you can move between columns in your table using arrow keys?

Tip #1 - How to move column up or down

Have you ever changed your mind about the order of columns in your table? You probably have! Fortunately, changing the order of columns in Vertabelo is as easy as pie. Select the table that contains the column you want to move up or down. In Table properties on the right, you can see a list of the columns. On the left of each column’s name, there is a column selector:

Vertabelo Advent Calendar

From today until Christmas Eve, we’re going to publish some tips & tricks for Vertabelo. Check our blog every day for a new one! List of all available tips: How to move a column up or down Use keyboard shortcuts in Vertabelo! How to copy tables between models How to make a column unique How to quote table names in generated SQL script How to create a multicolumn primary key How to include comments in SQL script How to name a primary key How to create multiple references between two tables How to use a data type that isn’t listed in the data types panel Vertabelo reports that my data type is not supported.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

How You Can Use Hibernate With a Database Modeling Tool

Before writing this article, I talked to a group of software engineers who use Hibernate on a daily basis in their work. Some of them work for small companies (up to 20 developers on site) while others are employed in corporations known world-wide that employ over 100,000 IT professionals. This gave me an insight into how development with Hibernate is organized in different companies. There are several approaches to creating SQL scripts and Hibernate O/R Mapping classes.

New Features in Vertabelo Released in April 2015

Tell us what you want! If you have your own ideas for new features or you think that something could be improved in our application, do not hesitate to share your opinion. Send your suggestions to us via our Support Service. There, you can upvote or downvote new feature requests placed by other users. That way, you can have a significant impact on the development of our application. Go to Vertabelo's Support Service »

How to Color ERD Diagrams in Vertabelo

If you’ve ever had to design a database model with hundreds of tables, views and references, you know very well how difficult is to make such huge diagram readable and comprehensible. One of the possible solutions is to use some colors to distinguish different groups of tables or subject areas. See how Vertabelo allows you to do this quick and easy. To illustrate how you can color your entity relationship diagram to increase its readability, we will use a sample uncolored database model for a simple online store:

Vertabelo vs. Navicat Data Modeler

In this article, I’ll make a comparison of two popular database modelers: Vertabelo in version 1.21.0 and Navicat Data Modeler in version 1.0.12. Features are listed in the left-hand column and each tool’s feature support is identified under the appropriate heading. Vertabelo Navicat Data Modeler Online tool works under Chrome OS independent Standalone version available for: Linux Mac OS X Windows Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server (Windows and Mac OS X editions only) Oracle SQLite SQL Azure (Windows and Mac OS X editions only) Supported data types Vertabelo supports a particular database from creation.

Now You Can Print a Diagram

We hadn’t planned on adding a feature to print diagrams. Our original idea was that Vertabelo would supersede paper diagrams. Nevertheless, some of our users pointed out that they rely heavily on printouts (Export to PDF topic). So, I’d like to announce a new feature called “Export to PDF” also known as “Printing.” Note that exporting a database model to a PDF file is available for Premium and Team account plans only (see the comparison of the plans’ features in our Pricing).

Comparison of Web-Based Tools for Data Modeling

In this article, I will compare two online database modelers: Vertabelo and Sea Quail Database Diagram Tool. Here is a matrix of each tool’s key features and functionality. Compared versions: Vertabelo 1.14.3, Sea Quail v.32. Vertabelo Sea Quail Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server Supported data types Vertabelo supports particular database from the begining.

Tag: Database documentation

How to Document Design Decisions in Database Modeling

Sometimes your data models speak for themselves. But for those who don’t understand their language, you need to add clarifications that explain the reasons behind your design decisions. You may think that your database designs are works of art and therefore need no explanation. But the problem with works of art is that each person who looks at them can interpret them differently. This is fine from an artistic point of view, but it doesn’t work in day-to-day database work.

Tag: Database index

What Are the Types of Indexes in a Relational Database?

Using database indexes is one of the easiest ways to improve the overall performance of a database, more specifically query performance, if you select the right type. Knowing the types of indexes in SQL is very important since different indexes provide different benefits. We review commonly used indexes from the most popular RDBMS and explain when to use them. What Are Database Indexes? A database index is an additional data structure created on top of the data in a table.

What Is a Database Index, and What Does It Do?

Understand what a database index does and how it can improve SQL query performance. Modern databases store terabytes or petabytes of data and are a key resource for organizational operations and decision-making. A database index is a special data structure that allows quick access to specific pieces of information without having to read all data stored in a particular table. They ensure database performance in transactional environments. How Does a Database Index Enhance Access to Information?

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

What Is a Database Index?

Sooner or later there comes a moment when database performance is no longer satisfactory. One of the very first things you should turn to when that happens is database indexing. This article will give you a general overview on what indexes are without digging into too much detail. We’ll discuss additional database index topics in future articles. In general, a database index is a data structure used to improve queries execution time.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Tag: Database model

An ER Diagram for a Billing System

Unveiling the database design of a comprehensive billing system model. A billing system is an intricate design that allows for the tracking of goods and services, the generation of invoices, and the processing of payments. It acts as the foundation for financial transactions in a variety of industries, ensuring that firms can manage their revenue streams efficiently and keep accurate financial records. In this article, we’ll discuss how to build an ER diagram for a billing system.

How to Design an ER Diagram for an Invoice Management System

Do you need to create an ER diagram for an invoice management system? Maybe you’re just curious about how the process would work. We are here to help. So, let's get started on creating the model for your invoice management database. To begin, we will create an entity-relationship diagram (ER diagram or ERD), which is a model of the database that represents the information to be stored by the invoice management system.

How Do You Design an ER Diagram for an Employee Database?

Do you need to create an entity-relationship model for an employee database? Or are you looking for a database design for an employee management system? Maybe you’re just curious about how the process would work. You've come to the right place. In this article, we’ll explain how to develop ER diagrams for an employee database. We’ll start with the logical model and move to the physical model (which is designed for a specific database management system (DBMS), such as Oracle, MySQL, etc.

Designing A Price History Database Model

Do you need to develop an e-commerce site that stores price history? This step-by-step guide to designing a price history database model will help you get started fast! Designing a price history database for e-commerce or finance can feel like deciphering a complex algorithm. But with the right insights, what seems intricate becomes intuitive. Join us as we delve into the heart of this design process, from laying the foundational blueprints for tracking historical prices in a database to ensuring the model’s dynamic adaptability.

Universal and Timeless Database Design Patterns for 2024 and Beyond

Choosing the right data model pattern is the best way to avoid mistakes and bad decisions when creating a new database schema. To make the right choice, browse through this catalog of current database design patterns and choose the one that best suits your project requirements. Database design patterns are a useful tool to avoid the task of reinventing the wheel with every new database design you face. Since each design pattern offers proven solutions to common needs, it is just a matter of choosing the right pattern and saving yourself the trouble of starting from scratch.

ER Diagram for a Movie Database

A step-by-step guide on how to design an ER diagram for a movie database and model the relationships between actors, movies, and studios. An entity-relationship diagram (ER diagram or ERD) is a visual representation of a database that displays the relationships between entities. In this article, we’ll guide you through the process of designing an ER diagram for a movie database, using a case study to illustrate the concepts. We’ll cover the basics of data modeling and ER diagrams and show you how to model the relationships between actors, movies, and studios in a clear and efficient way.

How to Generate a Snowflake Database Model DDL

In this article, we will see how to use Vertabelo to create a Snowflake DDL script. We’ll start from a data model created online and walk you through the process of generating the SQL script that will create the physical database. Vertabelo is a powerful yet easy-to-use data modeling tool that can help you create database models for many database engines, including Snowflake. What Is Snowflake? Snowflake is a Cloud-based Database-as-a-Service designed by former Oracle engineers.

Database Design for Online Survey Systems

In this article, we review the steps for creating a database design for an online survey system using Vertabelo Data Modeler. Learn how to create a logical database model, add all the entities and relationships required, and then transform it into a physical database model by generating the SQL scripts to implement it on your database of choice. This article explains the tasks to create a database model for an online survey system, step by step.

How to Prepare a Database Model

Create good logical, physical, and conceptual data models using these expert database model preparation tips. To put it simply, a database model is a data model that determines the logical or physical structure of a database. Database design is the process of creating a database model. A database model is used to capture information about the data that must be stored in a database. If you're a bit unsure about the steps involved in the database design process, I suggest you read this description of database design steps.

Vertabelo Feature: Live Model Validation

A data model is more than just a pretty drawing that impresses users and stakeholders. When you add model validation to the design process, your data model can save you many hours of database-related work. When you design a data model, your ultimate goal is for the model to become a functional database. However, your model is basically a drawing, while the database is a not-so-flexible structure that holds information.

Integrated Transport Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

A Public Opinion Agency Data Model

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.

Track Signals with a Signal Processing Data Model

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.

A Library Data Model

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!

A Database Model for a Hotel Reservation Booking App and Channel Manager

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.

A Data Model for Online Concert Ticket Sales

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.

Designing a Database for a Recruitment System

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.

A SaaS Subscription Data Model

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.

The Important Dates Data Model

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.

A Data Model for an Online Musical Equipment Shop

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.

A Data Model for a Wine Store

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.

A Peer-to-Peer Lending Platform Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

A Data Model for a Freelancers Collective

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.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

A Grocery Delivery Data Model

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.

A Data Model for Map- and Turn-Based Games

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.

Tap and Park: A Parking App Data Model

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.

A Children’s Party Data Model

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.

A Restaurant Delivery Data Model

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.

A Dating App Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Wedding Organization Data Model

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 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.

Modeling an Open Marketplace for Education

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.

A Mail Delivery Company Data Model

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 😊.

A County Club Data Model

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.

Data Model Design: A Mobile App Marketplace for Local Services

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.

A Pet Care Data Model

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.

A Google Analytics Data Model

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!

A Data Model for a Leasing Office

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.

A Data Model for Collectors

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.

A Sports School Data Model

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!

A Song of Ice and Databases: A Game of Thrones Data Model

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.

An Online Auction Data Model

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.

A Marketing Agency Data Model

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.

Part 4 – How to Use It

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.

Clinic Management System Data Model

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.

Build Your Own City: An Open-Ended Building Game Data Model

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.

A Language School Database Model

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.

Inside A Shopping Center Data Model

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.

Summer Is Here: A Travel Agency Data Model

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.

A Smart Way to Build Skills – An E-Learning Portal Data Model

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.

Coping with the 4Ds of Life: A Self-Storage Data Model

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.

Offers, Deals, and Discounts: A Product Pricing Data Model

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.

The Book of All Knowledge: An Online Encyclopedia Data Model

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.

A Data Model to Track Tennis Tournaments

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.

A Data Model for an Electric Power Production System

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.

A Crowdfunding Platform Data Model

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.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

Designing an Online Classifieds Data Model

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.

A Data Model for an Electric Power Distribution System

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.

A Database Model for a Renting Service

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.

A Database Model for a Renting Service

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.

An Antique Store Data Model

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

A Process Management Data Model

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!

Improving Our Online Job Portal Data Model

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.

A Transport Hub Database Model

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.

A Database Model for Gallery or Museum Management

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.

A Project Management Data Model

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!

A Database Model for Action Games

In previous articles, we’ve discussed data model that could run card games, board games and even MMO games. 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.

A Database Model for a Freelance Job Platform

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.

Designing a Database for an Online Job Portal

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.

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Again and Again! Managing Recurring Events In a Data Model

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.

A Data Model for Listing Apartments and Other Rental Units

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

A Database Model to Manage Appointments and Organize Schedules

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.

Party Relationship Pattern. How to Model Relationships

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.

What Information Does An EU Invoice Need?

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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 Simple Online Store Model: Sell, Ship, and Get Paid

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.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

A Database Model for Simple Board Games

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.

Viewing Holidays With Data Modeler’s Eyes

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.

Creating a Data Model for Carpooling

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.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Creating Tables for Products and Services

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.

Database Model for a Messaging System

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.

Modeling a Database for Recording Sales. Part 1

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.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

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.

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.

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.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

How to Store Employees’ Schedules in a Database

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:

How to Model Inheritance in a Relational Database

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.

Database Design 101: Database Model for an Online Store

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.

Tag: Database modeler

5 User-Friendly Database Modeling Tools: Database Design Tools with the Best User Interface

Starting with database design can feel a bit intimidating. However, user-friendly database modeling tools can make the complexity manageable and the process smoother. This article compares five database design tools – Vertabelo, DBDesigner, dbdiagram.io, dbDiffo and ERDPlus. These popular ERD tools feature great user interfaces, aiding both beginners and seasoned professionals in turning abstract ideas into well-structured database models. Join us as we investigate the features and collaborative capabilities of these tools that cater to a user-focused database design experience.

The Top 6 Database Design Tools for 2024

Do your plans for 2024 include data modeling or database design? Then check out our list of the top database design tools for 2024! When choosing a database design tool, there are plenty of options available, from online tools offered as an “application as a service” to standalone programs that can be installed on your computer. In this article, we are going to analyze the main features to consider when choosing the best data modeling software – whether it’s online or on your local machine.

Top 10 Database Design Tools for Mac

Hey Mac users! Need an efficient data modeling solution? In this article, we unveil the top 10 database design tools for Mac OS. Database design is a critical aspect of software development, and having the right tools can significantly streamline the process. If you're a Mac user, you're in luck; numerous powerful and user-friendly database design tools are available for your operating system. In this article, we will explore the top 10 database design tools specifically designed for Mac users.

7 Tips for Staying Relevant as a Data Modeler

Many people draw boxes connected by lines and think they do data modeling. But we data modelers know our work goes far beyond that. Here are the desired skills in data modeling and important considerations for staying relevant as a data modeler. Data modelers are essential in many situations. We are called to be part of a software development team in the early stages of a project for building the foundations of a software solution.

What Skills and Knowledge Do Database Designers Need?

Feeling overwhelmed by the amount of time it will take you to learn to be a database designer? Read about the essential skills and talents you’ll need – it’s not so terrible! When you walk down the aisles of the supermarket, shopping cart in one hand and grocery list in the other, what are you thinking? If you're like me, you're imagining how to improve the organization of the shelves so that your weekly shopping is less time-consuming.

Who Is a Database Modeler and What Do They Do?

Short answer: database modelers create the large and intangible structures that hold the information of an entire organization. Anyone unfamiliar with the work that database modelers do might think that they make a living by drawing pictures of boxes linked by arrows. Not quite. There’s a lot more to a database modeler’s job than creating beautiful schematic designs. They are also in charge of implementing those models, transforming them into operational databases, and maintaining the documentation so that developers and others can interpret, understand, and use the data architecture.

Tip #24 – How to name a version of the model

Vertabelo offers you a feature to assign tags to particular versions of your model. It may be used, for example, to match the versions of your database model with the versions of your application. To assign a tag to the current version of the model, click three dots next to your model name if you are working on a diagram and then click Set tag: Enter a tag name and click Set tag.

Tip #23 – How to create a reference to an alternate key

Sometimes, you want the reference between two tables to reference an alternate key and not the primary key. Here's how you can do it in Vertabelo. In this example, we want to model cars and their owners using owner and car tables. The car table has an alternate key consisting of the vin column: We want the owner table to refer to the car table, but using the car table’s alternate key.

Tip #22 – How to identify problems with my model

Vertabelo has a built-in mechanism of live validation that checks your model all the time and gives you hints on how to improve it. Every error, warning or tip is flagged by a dedicated icon that you cannot fail to notice. Within your workspace, the problems are indicated in two places. In the left panel you can review all problems found in your model, while on the right side you’ve got information on problems detected in the currently selected object only.

Tip #21 – How to quickly find a table in a diagram

Do you know the quickest way to find a single table even in the largest diagram you can imagine? The answer is to double click the table’s name in the navigation tree! In the Model structure panel on the left, you’ve got a navigation tree with groups of all elements used in your diagram, including database objects such as tables, references and views, as well as other subsidiary elements like subject areas and text notes.

Tip #20 – How to configure Vertabelo printouts

Sometimes you may want to export your database model to a PDF file, especially for documentation purposes. It often happens that your diagram is larger than the default page size set in Vertabelo. If that's the case, you should configure the printout options in the Format section. Make sure that no element in your diagram is selected. Go to the Model properties panel on the right and expand the Format section which provides some basic formatting parameters.

Tip #19 – How to automatically download SQL script from Vertabelo

If you need to automatically download SQL script from Vertabelo, for example, for the purposes of your build system, you definitely should check out our Vertabelo API. It allows you to download an SQL or XML of your model by a simple HTTP request. In the command line, it may look like this: VERTABELO_API_TOKEN=put-your-api-token-here MODEL_ID=put-your-model-identifier-here curl -u $VERTABELO_API_TOKEN: \ https://my.vertabelo.com/api/sql/$MODEL_ID create-database.sql To learn more about Vertabelo API, go here.

Tip #18 - Display all references between two tables

In our previous Tip #16 and Tip #17 you could have learned that using table shortcuts makes it easier to create a well-laid-out database model. Do you know that references between shortcuts may be shown in the diagram too? Let’s go back to our example from Tip #16. Assume that we have already created all necessary subject areas. Now, we want to put shortcuts of all purchase-related elements in the Purchase subject area.

Tip #17 – Drag a table from the navigation tree and drop it in your diagram to create a shortcut

In our previous Tip #16, we showed you how to create shortcut tables using copy and paste. But did you know that you can create a shortcut of a table with only one move of your mouse? Just find the table in the navigation tree and then drag and drop it in the desired place in your diagram. Let’s assume that you want to create a reference line between two tables that are located quite far away from each other in your database diagram:

Tip #16 – Can I put the same table in the diagram twice?

Yes, you can! Shortcuts combined with subject areas might completely change your approach to database modeling. They allow you to make your diagram much more structured, logically divided and readable. Let’s look at an example. At the beginning, we have a really standard database model for a shop. Open your database model in Vertabelo: Now, we’re going to use subject areas in the model. To start, let’s put the whole model in a subject area:

Tip #15 – How to visually group tables and organize large database models using subject areas

Large models often happen to be quite messy. Using subject areas, you can improve the readability of your model and make it easier to work with. The idea behind subject areas is to group tables inside them according to their purposes – it allows you to create some logical structure in your model and makes navigation through it more natural. Open your database model in Vertabelo: To create a subject area, choose Add new area from the toolbox or press 7 on your keyboard:

Tip #14 – How to create a model preview link and embed the model in a website

When it comes to sharing things like documents or photos with other people, sending files to each other is becoming less and less common – we usually prefer to send links. They are quick, convenient and neither use up disk space nor make a mess in our file system. At Vertabelo, we know how inconvenient it can be to send files and that’s why we created public links for models.

Tip #13 – How to export selected tables as an image

Probably you have already generated an image for your model, but did you know that the image may be generated for chosen elements only? Open your database model in Vertabelo: Select the desired objects with Ctrl + Click or using Select area from the toolbox: Click Export model to image in the top toolbar: Select image file type, click Selection and then Generate:

Tip #12 – The quickest possible way to create a new column

From our previous Tip #2 you could learn how to move between columns in your table using just arrow keys. Now, we will show you how to use the Down arrow to create one or even more new columns. Probably, this is the fastest way of creating new columns in this part of the galaxy. You really have to learn this. Open your database model and select the table in which you want to create a new column.

Tip #11 – Vertabelo reports that my data type is not supported. What can I do?

Sometimes you may want to use a data type that is so new that Vertabelo doesn’t recognize it. In such cases, the application displays a warning that the data type is not supported. If you find these warnings too distracting, you can turn them off. In this post, we will show you how to do it. Let’s take a look at the following example. Assume that you have a database model for SQLite 3.

Tip #10 - How to use a data type that is not listed in the data types panel

This one is frequently asked on our support: “In the data types panel, I can’t find the data type I need. Does this mean I cannot use it in Vertabelo?” Of course, you can. Vertabelo will never let you get stuck in a data type dead end. Even if the type you need is not listed, it doesn’t mean you cannot use it. Data types you can find under the button are just the most popular ones.

Tip #9 – How to create multiple references between two tables

Relationships in the real world may not be as easy as we would like them to be. Sometimes we want to model a situation where one table is refering to the other more than once. Luckily, with Vertabelo, this is a piece of cake. Let’s say we want to model a rental agreement between two people: landlord and tenant. In this situation, the rental_agreement table would need to refer to the person table twice – first for the landlord and second for the tenant.

Tip #8 – Setting Your Own Names for Primary Key

Sometimes the naming convention you use requires a specific pattern for the primary keys’ names. That’s why you may want to set your own names for each primary key in your database model instead of using default ones. Go on reading to get to know how to do this in Vertabelo. To give your own name to a primary key, select the table that contains the primary key you want to name:

Tip #7 – How to include comments in SQL script

You can comment on your database objects (tables, columns, views) in Vertabelo. You can also include this metadata in your database, where it can be accessed by your SQL developers or DBAs. Here’s how you can do it. Go to your database model: Click SQL generation settings in the Model properties panel on the right: Check the Include comments for database objects option: Let’s try out how it works.

Tip #6 – How to Create a Multicolumn Primary Key

Primary keys may contain more than one column. Multicolumn primary keys are frequently used for junction tables, which are used to model many-to-many relationships. Select a table: In the Table properties panel on the right, check all the columns that you want inside the key: Now, you have a multicolumn primary key created: You can check out your SQL code by clicking the SQL preview button in the top right corner:

Tip #5 – How to quote table names in generated SQL script

Sometimes, you want all identifiers in your SQL script to be quoted. For example, you want them to have a particular case. Luckily, Vertabelo allows you to quote all SQL identifiers in your generated script to prevent you from any SQL name conflicts. Go to your model: Click the SQL generation settings tab in the Model properties panel on the right: Check Quote all SQL identifiers:

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

Tip #3 - How to copy table between models

Did you know that you can copy tables between models in Vertabelo? It’s useful for instance with tables that appear in almost every database model like user_account, address, client or product, or with tables that are specific for your domain. You don’t have to create all these tables from scratch. Open the model which contains the tables you want to copy and click to select them. Note that you can hold down the Ctrl key if you want to select objects located in different parts of your model:

Tip #2 - Keyboard shortcuts in Vertabelo

Would you like to make your database modeling faster and more convenient? Of course you would! One way to achieve this is to learn your database modeling tool’s keyboard shortcuts. To check them when working in Vertabelo, press Ctrl + I. They can be grouped into several categories/tabs. Our favourite Vertabelo shortcuts Down arrow in the Columns section Did you know that you can move between columns in your table using arrow keys?

Tip #1 - How to move column up or down

Have you ever changed your mind about the order of columns in your table? You probably have! Fortunately, changing the order of columns in Vertabelo is as easy as pie. Select the table that contains the column you want to move up or down. In Table properties on the right, you can see a list of the columns. On the left of each column’s name, there is a column selector:

Vertabelo Advent Calendar

From today until Christmas Eve, we’re going to publish some tips & tricks for Vertabelo. Check our blog every day for a new one! List of all available tips: How to move a column up or down Use keyboard shortcuts in Vertabelo! How to copy tables between models How to make a column unique How to quote table names in generated SQL script How to create a multicolumn primary key How to include comments in SQL script How to name a primary key How to create multiple references between two tables How to use a data type that isn’t listed in the data types panel Vertabelo reports that my data type is not supported.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

A Book Review

Book and Author Importance of Data Model Quality Takeoff Checklist Merciless Review Merciless Humiliation? Is it Agile? Conclusion Book and Author Today I’m going to review “A Check List for Doing Data Model Design Reviews” by Kent Graziano. This publication is available as an e-book on Amazon.com. The book is very short – it will take you less than an hour to read it. But don’t let the small volume mislead you.

New Features in Vertabelo Released in April 2015

Tell us what you want! If you have your own ideas for new features or you think that something could be improved in our application, do not hesitate to share your opinion. Send your suggestions to us via our Support Service. There, you can upvote or downvote new feature requests placed by other users. That way, you can have a significant impact on the development of our application. Go to Vertabelo's Support Service »

How to Color ERD Diagrams in Vertabelo

If you’ve ever had to design a database model with hundreds of tables, views and references, you know very well how difficult is to make such huge diagram readable and comprehensible. One of the possible solutions is to use some colors to distinguish different groups of tables or subject areas. See how Vertabelo allows you to do this quick and easy. To illustrate how you can color your entity relationship diagram to increase its readability, we will use a sample uncolored database model for a simple online store:

Vertabelo vs. Navicat Data Modeler

In this article, I’ll make a comparison of two popular database modelers: Vertabelo in version 1.21.0 and Navicat Data Modeler in version 1.0.12. Features are listed in the left-hand column and each tool’s feature support is identified under the appropriate heading. Vertabelo Navicat Data Modeler Online tool works under Chrome OS independent Standalone version available for: Linux Mac OS X Windows Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server (Windows and Mac OS X editions only) Oracle SQLite SQL Azure (Windows and Mac OS X editions only) Supported data types Vertabelo supports a particular database from creation.

Now You Can Print a Diagram

We hadn’t planned on adding a feature to print diagrams. Our original idea was that Vertabelo would supersede paper diagrams. Nevertheless, some of our users pointed out that they rely heavily on printouts (Export to PDF topic). So, I’d like to announce a new feature called “Export to PDF” also known as “Printing.” Note that exporting a database model to a PDF file is available for Premium and Team account plans only (see the comparison of the plans’ features in our Pricing).

Comparison of Web-Based Tools for Data Modeling

In this article, I will compare two online database modelers: Vertabelo and Sea Quail Database Diagram Tool. Here is a matrix of each tool’s key features and functionality. Compared versions: Vertabelo 1.14.3, Sea Quail v.32. Vertabelo Sea Quail Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server Supported data types Vertabelo supports particular database from the begining.

Tag: Database modeling

Year in Review: Our Best Database Design Articles of 2023

A selection of our top blog articles on database design published in 2023. The realm of database design and management stands at the forefront of technological advancements and industry requirements, especially as we approach 2024 and beyond. This collection of articles – featuring works from experts like Gustavo du Mortier, Radu Gheorghiu, Jorge Sandoval, Martyna Sławińska, Lisandro Fernigrini, and Shamal Jayawardhana – provides a comprehensive overview of the evolving landscape of database design, modeling, and best practices.

Database Design Patterns for 2024

In 2024 and beyond, new types of applications will require you to refresh your arsenal of data modeling techniques. Find out what challenges you will face and what database design patterns you can use to overcome them. It is often said that just when you think you know all the answers, the universe comes along and changes all the questions. The universe of database design is no exception. Just when you think you have all the knowledge you need to design any type of database, new types of applications appear that pose new challenges for database modeling.

How to Design a Database: Tips and Best Practices from Our Experts

Having a guide of best practices for database modeling always at hand will help you improve the quality of your work. Read the tips and advice in this article to put together your own list of best practices. Then put it where you can see it every day. When you find yourself needing to perform a task that you have never done before, it is always useful to read the advice of someone who has already done it hundreds or thousands of times.

What Is a Schema Diagram? A Guide with 10 Examples

A comprehensive guide to database schema diagrams, with 10 illuminating examples. A schema diagram is a compelling visual representation of a database system's structure and organization. It functions as a blueprint for how entities, attributes, and relationships within a database are interconnected. This article is intended to demystify schema diagrams and provide you with a comprehensive understanding of their purpose and utility. Whether you are a database administrator, a software developer, or simply inquisitive about the inner workings of databases, this guide is for you.

Why Your Company Needs a Database Modeling Tool

Why do companies use data modeling tools? The short answer: To save costs, gain efficiency and stay competitive in their market. In this article, you’ll learn about all the benefits your company can reap by investing in a leading database modeling tool. Good database modelers need only one tool: their knowledge and ability to conceive data models that solve real-world problems. Eventually, they need to translate their designs into artefacts that help communicate ideas and concepts.

The Complete Guide to Database Modeling Techniques

Would you like to have all the essential data modeling techniques in one place? Look no further than this comprehensive guide! You’ll find everything you need to build efficient, robust, and scalable databases. Data modeling techniques are used to carry out data modeling in a methodical and organized manner. But what exactly is data modeling? The data modeling process is about building data models – an activity that we could compare to building housing complexes (with a little bit of imagination).

The Best Database Software for Mac

A comprehensive guide to the top database software tools for Mac OS. Data modeling is a crucial aspect of database development and management. It involves conceptualizing data structures in a specific domain, including entities, attributes, and relationships. The importance of data modeling lies in its ability to improve data quality, enhance communication, increase efficiency, enable scalability, and facilitate integration. Data modeling: Improves data quality by accurately capturing the relevant data for a particular domain.

Top 21 Database Modeling Interview Questions for 2023

Applied for your dream job as a data modeler? You now need to get ready for the interview. We have a list of the most common data modeling questions, grouped into theoretical questions, basic technical questions, and advanced technical questions. Go to the interview well-prepared. The need for organizations to collect and interpret large volumes of information is constantly growing. Meeting this need requires well-designed data models for agile and efficient databases.

The Best Database Documentation Tools

Databases might be daunting and complicated, but database documentation tools make capturing all the relevant information easier. Learn about our top picks in this article. You might be a developer who often gets emails from non-technical team members or clients wondering what a field signifies. In such cases, organizing and documenting the database's metadata is crucial, although it isn't our first priority. Due to the complexity of databases, we frequently forgo the documentation’s upkeep.

Designing an Amazon Redshift Data Model Using Vertabelo

See how Vertabelo can help you design a database diagram for Redshift. This article will show you how to use Vertabelo as a database modeling tool for Redshift. It allows you to design and implement a database model in a simple way.  (Vertabelo also supports other database management systems, but in this article we’ll focus on the Amazon Redshift DBMS). What Is Amazon Redshift? Amazon Redshift is a Cloud-based, data warehouse oriented implementation of PostgreSQL database engine designed and offered by Amazon.

Support for New Versions of PostgreSQL and MS SQL Server in Vertabelo

With the latest release of Vertabelo in 2021, we have overhauled the UI for a better experience in database modeling. We’ve also added a lot of new features requested by our customers. We’re happy to announce we now support the latest versions of PostgreSQL and MS SQL Server. You can now define partitions, specify data types for sequences, and add identity columns in PostgreSQL. Similarly, you can create DDLs for the latest versions of MS SQL Server.

Best Practices for Multi-Language Database Design

To implement multi-language support in your data model, you don’t need to reinvent the wheel. This article will show you the different ways to do it and help you choose the one that works best for you. The concept of localization is vital to the development of a software application, particularly when that application’s scope is global. Support for multiple languages is the main aspect to consider; a database design that supports a multi-language application allows you to diversify your target markets and thus reach many more customers.

Data Modeling Basics in 10 Minutes

Every software developer should know how to design a basic data solution to store application data. In this article, we’ll take you step by step through the basics of data modeling. By the end of the article, you‘ll understand the main phases of database modeling and the types of questions you need to ask when designing a data solution. This introduction to data modeling basics will hopefully spark your curiosity and show you that database modeling is an exciting challenge.

What I Like About Database Modeling

The greatest satisfaction of database modelers is in seeing their creations transformed into efficient repositories of information for business processes. Of course, modeling databases can also have its share of frustrations, but we'll get to that. What makes building scale models fun? Whether it’s RC cars, airplanes, ships, or a science-fiction spacecraft, scale models allow you to build a miniature representation of huge real-life objects. I was fascinated by scale models when I was a kid.

What I Don’t Like About Database Modeling

Database modeling has its best practices and its guidelines. But even if you follow all the rules, sometimes things don’t work out. Here’s what I find challenging about database design. Database modeling is the process through which a database developer or architect creates a data model for an application. The data model they create will describe the structure of the database, including the tables, the relationships between tables, and the data that’s stored in the database.

Pros and Cons of Modeling a Legacy Database

Some people enjoy recycling houses, furniture, or cars. Why not also enjoy recycling databases? Imagine you inherit an old house. At first, that seems like good news: suddenly you own something that could be important and valuable. But before you celebrate, you might want to inspect the house carefully. See if it is structurally sound, if it has any foundation issues, if it is built to last... Once inspected, you might happily maintain it and even feel fortunate to have inherited it.

6 Tips for Modeling a Legacy Database

Do you need to manage an existing database, but without a proper model of the entities and relationships? We're here to help. This article will explain the why, what, and how of modeling an existing database. Typically, in IT, we think that "legacy" is bad. In actual fact, legacy is often a way of life. Most organizations are not working with entirely new "greenfield" development. (Except in the world of startups.

Who Is a Database Modeler and What Do They Do?

Short answer: database modelers create the large and intangible structures that hold the information of an entire organization. Anyone unfamiliar with the work that database modelers do might think that they make a living by drawing pictures of boxes linked by arrows. Not quite. There’s a lot more to a database modeler’s job than creating beautiful schematic designs. They are also in charge of implementing those models, transforming them into operational databases, and maintaining the documentation so that developers and others can interpret, understand, and use the data architecture.

Where Does Database Modeling Fit in the Software Development Life Cycle?

Every software application uses stored data, whether it’s a simple list of user preferences or a complex database with a large number of tables and relationships. The importance of data modeling tasks within the software development life cycle is in direct proportion to the complexity of that stored data and its relevance to the application requirements. In the case of an application that only stores a list of user preferences, database modeling tasks are minimal and can be handled by practically anyone.

Top 15 Database Modeling Tips for 2021

Here are 15 simple tips that will guarantee the quality of your database model! Prior to the emergence of NoSQL databases, data modeling had followed a standard norm. However, with the hybridization of storage models and especially with the integration among them, it has become necessary to consider NoSQL databases in systems that use relational databases. This article covers 15 tips for modeling databases in 2021 (the database modeling tool used in this article is Vertabelo).

What SQL Scripts Can Vertabelo Generate for You?

A starting point for keeping your database management hassle-free is a good database modeling tool. A good ER diagram is not only about a pretty picture; it can actually carry a lot of secondary data. For example, it may contain all necessary column constraints or additional SQL scripts to be run at a specified time. A good database modeling tool lets you create a physical ER diagram, oversees and validates your model (including your custom data types), and also lets you generate SQL scripts to set up your database or adjust it to the changes in the model.

Top Database Design Books in 2021

You won’t go wrong with any of the titles reviewed here, provided you pick one according to your level of expertise. Database design began circa 1960, with the creation of the first database management system (DBMS). Since then, hundreds of books have been written and published on how to design effective and efficient databases for storing and retrieving information. There are all kinds of them: academic textbooks, books for a specific database product, introductory books for people outside the world of computers, among others.

Designing a Database for an Online Job Portal

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.

A look at algorithms used in RDBMS implementations of DWH systems

When you’re using a data warehouse, some actions get repeated over and over. We will take a look at four common algorithms used to deal with these situations. Most DWH (data warehouse) systems today are on a RDBMS (relational database management system) platform. These databases (Oracle, DB2, or Microsoft SQL Server) are widely used, easy to work with, and mature – a very important thing to bear in mind when choosing a platform.

A Database Model for a Taxi Service

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

Does Evolving Contact Information Mean Changing Your Database?

There are a number of ways to contact someone these days, right? We have various phones: mobile and landline, personal and work. We have different addresses – residential, mailing, billing, business, etc. – and likely several email addresses, too. Don’t forget Skype and various messaging apps. Now add in LinkedIn and Facebook –which by the way, both have their own messaging elements. Not that long ago, many of these didn’t exist.

Five Common Dimensional Modeling Mistakes and How to Solve Them

When designing your dimensional model, it is worthwhile to watch out for mistakes that commonly occur during the process. Specifically, they can occur in the relationships between tables, both in fact-to-dimension and dimension-to-dimension relationships. In this post, we’re going to take a closer look at five common modeling mistakes and what you can do about them. As you start a BI-related project, bulletproof dimensional design is hugely important. What makes a design bulletproof is the early mitigation of common design mistakes.

What Do the Olympic Games, UEFA Euro 2016 Football Matches, and Databases Have In Common?

On hearing what I do, people tend to ask me the same question: Can you develop a system that predicts football match results? Or Olympic medal outcomes? Personally, I don’t put much faith in predictions. Still, if we had a large amount of historical data and relevant indicators, we could certainly design a system to help us come up with more accurate assumptions. In this article, we’ll consider a model that can store the results of matches and tournaments.

Dimensions of Dimensions: A Look at Data Warehousing’s Most Common Dimensional Table Types

When we start a data warehousing project, the first thing we do is define the dimensional tables. Dimensional tables are the interesting bits, the framework around which we build our measurements. They come in many shapes and sizes. In this article, we are going to take a closer look at each type of dimensional table. Dimensional tables provide context to the business processes we wish to measure. They tell us all we need to know about an event.

What a Concept! Is Logical Data Modeling Obsolete?

When databases were sized in megabytes rather than petabytes, their design was a well-defined discipline of data analysis and implementation. A progression of modeling steps – from conceptual and logical through relational and/or physical – promised successful deployment. But as we passed more orders of magnitude in data volume, we seemed to stop seeking modeling approaches to manage that volume. So the question arises: Is logical data modeling obsolete?

Party Relationship Pattern. How to Model Relationships

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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.

Database Modeling Tips

When you were learning database concepts, data modeling looked pretty easy, didn’t it? You knew all the rules, and modeling seemed like a game: get a challenge, do your best, and eventually solve it. Job well done! Moving up to the next level – and so on. As you continue, though, you’ll see that database modeling is also an art. Many cases require a totally new approach. Everything can be done ‘by the book’, but sometimes you get better results when you go less orthodox.

Identifying the Bill of Materials (BOM) Structure in Databases

The bill of materials (BOM) design pattern is deceptively simple, yet incredibly powerful. Historically, it’s been employed to model product structures, but the pattern can be used to do much more than simply define a hierarchy. This article will introduce three very different examples to help you to recognize the pattern in your own projects. What Is a Bill of Materials, or BOM? A bill of materials has its roots in manufacturing.

7 Key Things to Remember About Data Model Globalization

Very few database authors mention the challenges of globalization and localization in any meaningful way. There’s a similar lack of foresight from database architects. The fact is that many authors and designers are frequently very ‘self-centric’: they create (or write about) data models that only properly handle their local time zones, addresses, etc. A self-centric approach has a big problem: the resulting model will only support local data. In today’s Internet-fueled world, applications are often unexpectedly accessed by users around the globe.

What Do Poker, Blackjack, Belot and Préférence Have to Do with Databases?

How to design a database flexible enough to accommodate several very different card games. Recently, we showed how a database could be used to store board game results. Board games are fun, but they’re not the only online version of classic games going. Card games are also very popular. They introduce an element of luck into gameplay, and there is much more than luck involved in a good card game!

Star Schema vs. Snowflake Schema

In the previous two articles, we considered the two most common data warehouse models: the star schema and the snowflake schema. Today, we’ll examine the differences between these two schemas and we’ll explain when it’s better to use one or the other. The star schema and the snowflake schema are ways to organize data marts or entire data warehouses using relational databases. Both of them use dimension tables to describe data aggregated in a fact table.

How to Design a Localization-Ready System

In this era of globalization, companies – including software developers – are always interested in expanding to new markets. This often means localizing their products for different areas. In this article, we’ll explain a few approaches to designing your data model for localization – specifically, for managing content in multiple languages. What Is Localization? Localization is the process of adapting a product to various markets. It is a prominent factor in achieving maximum market share in terms of product sales.

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

Security Approaches in Data Modeling. Part 4

This is the fourth in our multi–part series on data modeling for information security as well as data characteristics. A simple data model for a fictional website that supports shared–interest organizations (bird–watching clubs, etc.) has provided us with content for exploring data modeling from a security viewpoint. In Oscar Wilde’s play Lady Windermere’s Fan, Lord Darlington tags a cynic as “somebody who knows the price of everything, and the value of nothing.

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

Using Configuration Tables to Define the Actual Workflow

The first part of this series introduced some basic steps for managing the lifecycle of any entity in a database. Our second and final part will show you how to define the actual workflow using additional configuration tables. This is where the user is presented with allowable options each step of the way. We’ll also demonstrate a technique for working around the strict reuse of ‘assemblies’ and ‘sub-assemblies’ in a Bill of Materials structure.

Crow’s Foot Notation

The most recognizable characteristic of crow’s foot notation (also known as IE notation) is that it uses graphical symbols to indicate the ‘many’ side of the relationship. The three-pronged ‘many’ symbol is also how this widely-used notation style got its name. Let’s see where crow’s foot is placed in the history of data modeling and take a look at its symbols. History: How Crow’s Foot Notation Got Started The beginning of crow’s foot notation dates back to an article by Gordon Everest (1976, Fifth Computing Conference, IEEE).

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

Denormalization: When, Why, and How

Databases are designed in different ways. Most of the time we can use “school examples”: normalize the database and everything will work just fine. But there are situations that will require another approach. We can remove references to gain more flexibility. But what if we have to improve performance when everything was done by the book? In that case, denormalization is a technique that we should consider. In this article, we’ll discuss the benefits and disadvantages of denormalization and what situations may warrant it.

Using Workflow Patterns to Manage the State of Any Entity

Have you ever come across a situation where you need to manage the state of an entity that changes over time? There are many examples out there. Let’s start with an easy one: merging customer records. Suppose we are merging lists of customers from two different sources. We could have any of the following states arise: Duplicates Identified – the system has found two potentially duplicate entities; Confirmed Duplicates – a user validates the two entities are indeed duplicates; or Confirmed Unique – the user decides the two entities are unique.

Security Approaches in Data Modeling. Part 3

This is the third of our multi-part series on applying information security approaches to data modeling. The series uses a simple data model, something to manage social clubs and interest groups, to provide the content we look to secure. Later we will address modeling for authorization and user management, as well as other parts of a secure database implementation. In social situations, it’s common to “read between the lines” – deducing the unspoken assumptions and assertions in a conversation.

13 Blog Articles on Database Design Best Practices and Tips

There’s a lot to keep in mind when you’re designing a database, and very few of us can remember every valuable tip and trick we’ve learned. So, let’s take a look at some online resources that feature database design tips and best practices. As we go, I’ll share my own opinions on the ideas presented, based on my experience in database design. Obviously, this article is not an exhaustive list, but I’ve tried to review and comment on a cross section of sources.

Viewing Holidays With Data Modeler’s Eyes

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.

The Reference Data Pattern: Extensible and Flexible

Having reference tables in your database is no big deal, right? You just need to tie a code or ID with a description for each reference type. But what if you literally have dozens and dozens of reference tables? Is there an alternative to the one-table-per-type approach? Read on to discover a generic and extensible database design for handling all your reference data. This unusual-looking diagram is a bird’s-eye view of a logical data model (LDM) containing all the reference types for an enterprise system.

19 Online Resources for Learning About Database Design Errors

We all make mistakes, and we can all learn from other people’s mistakes. In this post, we’ll take a look at numerous online resources for avoiding poor database design that can lead to many problems and cost both time and money. And in an upcoming article, we’ll tell you where to find tips and best practices. Database Design Errors and Mistakes to Avoid There are numerous online resources to help database designers avoid common errors and mistakes.

WordPress – Behind the Scenes, Part 2

In Part 1 of this series, I demonstrated how to install WordPress locally and how to import a WordPress database into Vertabelo. In this article, we’ll take a closer look at the tables in the WordPress database. A Quick Look at the WordPress Database Model and the Dashboard In the previous part, I imported the WordPress database into our online database modeling tool. For the record, the structure of the database is as follows:

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

Logging in With External Services

Inputting a username and password is one way of accessing an account, but it’s not the only one. In this article, we’ll see how to enable external services (like Google or Facebook) when logging in to a database. What Are External Service Logins? Giving a user the option to access their system accounts through external services is a growing trend among web designers. This option can provide several benefits, such as giving users one less name-and-password combination to remember.

Creating a Data Model for Carpooling

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.

Problem Set 2 – Identifying Entities and Attributes

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities and attributes. Here is the second installment of our problem set. Enjoy. Problem 1: Countries Description: Find the right entities and their attributes to represent all the countries in the world, their interior regions (which can be called states, provinces, or regions) and their cities.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Problem Set 1 – Identifying Entities

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities. Well, here they are. Have fun! Problem 1: Language School Mr. Trotter, the proprietor of a rapidly-growing language school, wants to introduce a new system in his company.

Database Modeling

I wrote a song about dental floss but did anyone’s teeth get cleaner? Frank Zappa When we think of the dental office, our first associations are the drill, the pain, and the fear. OK, that sounds bad. Besides taking care of teeth, a dentist has many other obligations that are professional, legal, or both. All of them require proper data management. To meet this documentation requirement, many dental and medical offices use paper records.

How Does Database Design Help Organize Teachers, Lessons, and Students?

An investment in knowledge pays the best interest. Benjamin Franklin In the modern world, education is omnipresent. Now more than ever before, it plays an important role in our society. It’s so important, in fact, that many of us continue our education well after finishing school or college. We have all heard of lifelong learning, non-formal education, and workshops for all ages. These methods differ from formal education in many ways, but they also have things in common.

Database Modeling Course (2)

You’re finally ready to get down to real data modeling. We’ll start off with entities and their attributes. Entities are the basic building block of every data model. In this post, you’ll find out what they are and how to identify them. What Is an Entity? What is a Specific Instance of an Entity? Data models help us to identify what kind of information we’ll store in our system. We use such models to address the question What will the data in our system be about?

Naming Conventions in Database Modeling

What’s In A Name? The Database Edition Database models require that objects be named. While several facets of naming an object deserve consideration, in this article we’ll focus on the most important one: defining a convention and sticking to it. Why Use Naming Conventions? Look at the database model below. I went a bit overboard and removed as many traces of a naming convention as I could. This proves my first point: a naming convention is an important part of a well-built data model.

Building an Information Mart With Your Data Vault

In the 3rd post in this series, we looked at how we prepare data for use with a concept called the Business Data Vault. Now, in this final part, I will show you the basics of how we project the Business Vault and Raw DV tables into star schemas which form the basis for our Information Marts. Raw Data Mart vs. Information Marts As of Data Vault 2.0, the terminology changed a bit to be more precise.

Creating Tables for Products and Services

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.

The Business Data Vault

In my last post, we looked at the basics of modeling your data warehouse using the Data Vault 2.0 technique. This time, we get into the details of how we prepare the DV tables for business user access. What is a Business Data Vault? If you have done any investigation into Data Vault on various blogs or the LinkedIn discussion group, you have seen a few terms used that often cause confusion.

Database Model for a Messaging System

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.

Applying Simple Access Control to a Small Data Model

“Information is the lifeblood of any organization…” We hear a lot of statements like this, or about an “information age,” or an “information economy.” When we agree with belief that amplifies the importance of information in the world today, we have to consider how to make that all-important information secure. Who can see my bank account? Was the facilities maintenance contract lost? Why can’t I get the latest lab report?

Data Vault 2.0 Modeling Basics

In my last post, we looked at the need for an Agile Data Engineering solution, issues with some of the current data warehouse modeling approaches, the history of data modeling in general, and Data Vault specifically. This time we get into the technical details of what the Data Vault Model looks like and how you build one. For my examples I will be using a simply Human Resources (HR) type model that most people should relate to (even if you have never worked with an HR model).

Database Modeling Course (1)

Data modeling is an essential step in the process of creating any complex software. It helps developers understand the domain and organize their work accordingly. In this article, which begins a new series devoted to database modeling, we’ll try to convince you why you should include it in your projects and what it looks like. Do I Really Need Data Modeling? As a novice developer, you often start your programming adventure with simple applications like the sieve of Eratosthenes or enumerating the Fibonacci sequence.

Modeling a Database for Recording Sales. Part 1

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.

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

Tackling Your Troubles – Building a Bug and Problem Database

Death and taxes – add “software problems” to that list of the inevitable. There is always a new issue, a new failure, a new key opportunity that an organization must address. And to avoid repeating the problems, or to revise your prior fixes, it is critical to capture the problems accurately and completely. You need a history of what happened and when. In this piece, we create the logical model for a problem or “bug” reporting system.

Defining Identifying and Non-Identifying Relationships in Vertabelo

Various data modeling tools allow modelers to define relationships in a data-model as identifying or non-identifying. We can define a relationship as identifying or non-identifying in Vertabelo as well. This article will explain the way to do so. Introduction Before moving ahead with the article, I’d like to explain what identifying or non-identifying mean. Let’s take a real time example of a book storing system. In the system, a book belongs to an owner, and an owner can own multiple books.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

How to Store Authentication Data in a Database. Part 1

How difficult is it to program a user login function for an application? Novice developers think it’s very easy. Experienced developers know better: it is the most sensitive process in your application. Errors in login screens can lead to serious security issues. In this article we take a look at how to store authentication data in your database. The most common way to authenticate users nowadays is with user name and password.

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.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

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 Book Review

Book and Author Importance of Data Model Quality Takeoff Checklist Merciless Review Merciless Humiliation? Is it Agile? Conclusion Book and Author Today I’m going to review “A Check List for Doing Data Model Design Reviews” by Kent Graziano. This publication is available as an e-book on Amazon.com. The book is very short – it will take you less than an hour to read it. But don’t let the small volume mislead you.

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.

5 Steps for an Effective Database Model

Database design is the process of producing a detailed model of a database. This model contains the necessary logical (table names, column names) and physical (column datatypes, foreign keys) choices to translate the design into a data definition language (aka SQL), which can be used to create the actual physical database. When I need to create the design for a new database, in other words, the data layer for an application, I follow a few mental steps that I think can help others when they need to go through the same process.

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

5 Must-Read Database Modeling Books?

I recently realized that our database modeling library could use a few more advanced titles. So I headed over to Amazon to see what they had on offer. There are plenty of introductory books for beginners that tell you how to normalize data, and introduce you to indexes, but what about something for the professional, grown-up database modeler? Here are 5 of the best database modeling books I found (listed in no particular order) that go beyond the basics and come highly recommended by Amazon reviewers.

How to Store Employees’ Schedules in a Database

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:

How Do You Make Your Database Speak Many Languages?

The Scenario You are the owner of an online store, located in Poland. The majority of your customers are from Poland and they speak Polish. But you want to sell your products abroad too and your international customers mainly speak English. So you want your online store to be available in both Polish and English. You also expect that your products will sell well in France, so you anticipate that you’ll have to prepare a French version of the store as well (and maybe Spanish too, because why not?

UML Notation

UML is popular for its notations. We all know that UML is for visualizing, specifying, and documenting the components of software and non software systems. What’s more, UML has many types of diagrams which are divided into two categories. Some types represent structural information, others general types of behaviors. Among these, there is one that is commonly used for entity relationship diagrams. In UML, an entity is represented by a rectangle:

Arrow Notation

Arrow notation has become one of the less recognized notations in entity relationships diagrams in recent years. Let’s discuss its elements. Entity and relationships As you can see below, an entity is always represented by a rectangle, which is common to most notations (there isn’t a distinction if it is dependent or independent entity). Relationships and cardinality are represented by various combinations of arrows as the diagram below presents.

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Chen Notation

Continuing our trip through different ERD notations, let’s review the Chen ERD notation. Peter Chen, who developed entity-relationship modeling and published his work in 1976, was one of the pioneers of using the entity relationship concepts in software and information system modeling and design. The Chen ERD notation is still used and is considered to present a more detailed way of representing entities and relationships. Entities An entity is represented by a rectangle which contains the entity’s name.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

ERD Notations in Data Modeling

An entity relationship diagram (ERD) is a diagram that defines the structure of database instances. Choosing which notation to use is typically left up to personal preference or conventions. Here, you can find some useful information about each notation: Part 1 – Barker’s Notation Part 2 – Chen Notation Part 3 – IDEF1X Notation Part 4 – Arrow Notation Part 5 – UML Notation Part 6 – Crow’s Foot Notation Which ERD notation are you using?

How to Model Inheritance in a Relational Database

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.

Database Design 101: How to Start Creating a Database Model

In this video you will learn how to start creating your database model. You will find out why nouns are important and how you should handle them when creating a database model. If you want to learn more, read our beginner tutorial on how to create a database model. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Database Design 101: References

In this video tutorial you will learn about references – how to create a relationship between the tables, how it affects their structure, and how it looks in the data. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Tables, Columns, and Data Types

Vertabelo presents part 2 of our Database Design 101 series that brings you easy-to-understand introduction to databases. This time we will focus on table columns and most commonly used data types. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Database Design 101: Database Model for an Online Store

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.

Tag: Why Your Company Needs a Database Modeling Tool

Top 6 Tools for Documenting Your Database

Efficient database management relies on effective documentation. In this article, we spotlight six leading database documentation tools, explaining which has the most intuitive interface and rich documentation functionalities. Database documentation tools are instrumental in simplifying database organization and ensuring seamless maintenance. We'll check out the standout features of each tool, highlighting their role in making database documentation accessible and efficient for both beginners and experts. In the field of data management, the significance of documenting databases cannot be overstated.

5 User-Friendly Database Modeling Tools: Database Design Tools with the Best User Interface

Starting with database design can feel a bit intimidating. However, user-friendly database modeling tools can make the complexity manageable and the process smoother. This article compares five database design tools – Vertabelo, DBDesigner, dbdiagram.io, dbDiffo and ERDPlus. These popular ERD tools feature great user interfaces, aiding both beginners and seasoned professionals in turning abstract ideas into well-structured database models. Join us as we investigate the features and collaborative capabilities of these tools that cater to a user-focused database design experience.

The Top 6 Database Design Tools for 2024

Do your plans for 2024 include data modeling or database design? Then check out our list of the top database design tools for 2024! When choosing a database design tool, there are plenty of options available, from online tools offered as an “application as a service” to standalone programs that can be installed on your computer. In this article, we are going to analyze the main features to consider when choosing the best data modeling software – whether it’s online or on your local machine.

The 5 Best Oracle Database Design Tools

Choosing the best Oracle database design tool can be the difference between a streamlined database design process and a complex, frustrating one. Dive deep into this comparative analysis of the top Oracle database modeling tools, from their collaboration capabilities to their model validation strengths. In the complex ecosystem of Oracle, having the right database design tools can dramatically improve workflows and results. Whether you're diving into ERD software or seeking a visual database design tool for Oracle, knowing the features and strengths of each option is crucial.

How to Draw an Entity-Relationship Diagram

Curious about how to create an ER diagram (entity-relationship diagram or ERD) during the database design phase? We’ll explain how to understand and create ER diagrams and explore what ERD/database modeling tools can make the process quicker and easier. An entity-relationship diagram can be considered the blueprint of a database. We use entity-relationship diagrams when we are modeling data stored (or that will be stored) in a database. ER diagrams allow discussions of requirements, such as what information needs to be stored, what aspects of the information need to be secured, and how the information is linked together.

6 Best MySQL Database Design Tools

Are you trying to choose the best database design tool for your next MySQL project? It’s challenging to pick the right tool for your requirements. This article will guide you in choosing the best MySQL database design tool among the many options on the market. The designing phase is the most critical part of any software project – including database projects. A good database design is like a good building foundation; most project failures are due to the absence of a proper database design.

7 Best PostgreSQL Database Design Tools

Database design is the most important part of any database project, and choosing the best tools for your database project is crucial to its success. In this article, we’ll explore the features of the best design tools for your PostgreSQL database. As we all know, database design or data modeling is the first step in building a database. Data modeling is the methodical process of identifying, classifying, and graphically presenting all the relevant data in an information system.

The Power of ERD Diagrams in Database Design: A Step-by-Step Guide for Beginners

What is an entity-relationship diagram? How are they used in database design? And how can you build your own ERDs? Read on to find out. In this article, we will dive into the importance of entity-relationship diagrams (ERDs), why they are essential in database design, and how they enable data organization based on specific relationships. ERDs empower users to extract meaningful insights, establish connections, and generate structural overviews from large datasets.

Why Your Company Needs a Database Modeling Tool

Why do companies use data modeling tools? The short answer: To save costs, gain efficiency and stay competitive in their market. In this article, you’ll learn about all the benefits your company can reap by investing in a leading database modeling tool. Good database modelers need only one tool: their knowledge and ability to conceive data models that solve real-world problems. Eventually, they need to translate their designs into artefacts that help communicate ideas and concepts.

Top 10 Data Warehouse Tools

Data warehousing is one of the most important factors in reporting and data analysis; it’s considered the core component of business intelligence. This article will discuss essential data warehouse tools. Building a data warehouse was historically a complex process, requiring lots of infrastructure for data storage. But Cloud computing technology has amazingly reduced the effort and cost of data warehousing. Due to this reason, data warehousing is moving forward with fast, efficient, and scalable Cloud-based tools.

Top 10 Data Engineering Tools

Want to find out about the role of data engineers and data engineering? What are the top data engineering tools these professionals use? Read on to explore more. Data engineers create pipelines to facilitate an organization's data analytics by collecting, merging, and transforming data. They create an infrastructure for modern data analytics. Data engineers' work can be categorized into various sets of requirements that they must fulfill in building the pipeline.

Top 8 Database Tools for SQL Server

A database specialist needs the best toolkit for designing databases. Developers use these tools through all stages of any database development project. Continue reading for more about the best database tools for SQL Server. As databases have become essential in the modern era of technology, database development is now a vital aspect of software development. Microsoft SQL Server is one of the best-liked database management systems (DBMS) among database developers and plays a big part in this.

Best Database Schema Diagram Tools

Every successful database development journey starts with great data modeling software. Continue reading to explore the best database schema diagram tools. Data modeling is the first step of database development. It’s the methodical process of graphically classifying and organizing all the pertinent data in an information system. A Brief Refresher on Data Modeling and ER Diagrams The three stages of the data modeling method are conceptual, logical, and physical data modeling.

ER Diagram Cheat Sheet

An ER diagram is a database blueprint. It facilitates data visualization and database development processes. Read on to find out what ER diagrams are and how to create them in Vertabelo. In this article, we’ll explain what an ER diagram is and what elements it contains. We’ll discuss ER diagram abstraction levels, such as conceptual, logical, and physical diagrams. You’ll learn how to build ER diagrams using various notations, such as Crow’s Foot notation, Barker’s notation, and more.

Top 7 Database Diagram Tools for Linux

What is the best database diagram tool for Linux? This post will help you find out – and potentially save you time, frustration, and money! Data modeling is a crucial component of any database development project. Your database project could fail if you move forward without a suitable data model. You can learn more about why you need data modeling here. It's crucial to select the best ER diagram tool for your project.

Best Database Modeling Tools for Redshift

Amazon Redshift has become one of the most popular Cloud databases. Which database diagram tools are the best for Redshift? Let's find out! Redshift is Amazon's Cloud-based database system. First announced in 2012, Redshift is a data warehouse product designed for analytical systems. It can handle huge volumes of data – up to 1 petabyte (1024 TB). It is considered a DaaS (Database as a Service) solution and is part of the Amazon Web Services (AWS) Cloud ecosystem.

What Is the Best Online Database Diagram Tool?

To choose the best data modeling tool, you must evaluate many features and programs. In this article, we‘ll compare the key offerings of several popular database modelers. Data modeling is all about documenting the information design underlying a software system. Data is modeled using a diagram with text and symbols that represent how the data should flow. (This is usually an entity-relationship diagram, or ERD.) The diagram can be used as a starting point for building a new database or for re-engineering an existing database.

How to Put Tables in a Vertabelo Data Model Into a Particular Schema

There is more to a database structure than just tables. Tables are logically divided into groups and stored in database schemas. Read along to find out how to include schemas in your ER diagram using Vertabelo. A database consists of one or more database schemas, and a database schema consists of one or more tables. A good data modeling tool helps you set them all up. In this article, you’ll see how to create database schemas in Vertabelo and assign tables to them.

What's the Best Database Modeling Tool for Students?

Hey students! Are you searching for a data modeling tool you can use to explore the world of databases? Read on and find out the best data modeler options for you. Data modeling is analyzing, identifying, and graphically presenting the data involved in a business process. It’s used  to develop a database system. The three phases most models go through are conceptual, logical, and physical data modeling. Although several diagrams can be used to draw a data model, the Entity-Relationship Diagram (ERD) is the most common choice.

What ERD Tools Can I Use to Create an ER Diagram?

As a database professional, the ER diagram should be an essential part of your toolkit. In this article, we’ll briefly examine data modeling and which ERD tools best meet database design requirements. What is data modeling, and how does an entity-relationship diagram (ER diagram or ERD) support it? 'Data modeling' is the process of arranging all the related data in an information system graphically, starting from scratch and going step by step through different phases to develop the physical database.

Best Database Tools for 2022

Another successful year is coming to an end. Time to get prepared for 2022! You should equip yourself with the best database tools so that you can outshine your competitors and delight your clients in the coming year. Read on and let’s get ready to take on the challenges in 2022. Building and maintaining a database is not a simple process; it requires the right database tools. Different activities are included, such as modeling data, developing and managing physical databases, querying, programming, testing, performing administration functions, and making modifications, among others.

What Is a Database Modeling Tool?

Why are database modeling tools so important? What data modeling features should you look for? Get the answers here. A database modeling tool helps users capture and explain a domain – i.e. the entities, attributes, relationships between entities, and any rules that apply to the entities and attributes.  That, of course, is the most basic feature. Most data modeling tools provide many more features. Imagine that you’ve joined a project where the database design process has just begun.

Online or Desktop Er Diagram Tool

Online or desktop ERD tool – are you puzzled about which one to choose? Read on to understand which one is best suited for your organization. ER diagrams (ERDs, or entity relationship diagrams) are crucial in database projects, so choosing the right ERD tool is vital. Building a database system without an ER diagram is like building a skyscraper without a foundation. ER diagram tools are some of the most important among all the tools used in a database project.

What Are the Different Types of Data Models?

A data model determines the logical structure of a database. It helps you find possible design issues before implementing and deploying the database. However, there are different types of data models which are used for different things. That’s what we’ll discuss in this article. The first step you should do when creating a new database is to model it. There are some basic principles that should be followed in this case.

8 Advantages of an Online ER Diagram Tool

ER diagram tools are a key component in software development. Whether you are designing a new system or feature from scratch or analyzing and applying changes to an existing solution, you need an ERD modeling program. Using an online ERD diagram tool allows you to start working immediately, without worrying about installation and setup. Plus, online ERD tools enable quick collaboration and easy access to your data models. You may have heard the phrase “a picture is worth a thousand words”.

Top 15 Database Modeling Tips for 2021

Here are 15 simple tips that will guarantee the quality of your database model! Prior to the emergence of NoSQL databases, data modeling had followed a standard norm. However, with the hybridization of storage models and especially with the integration among them, it has become necessary to consider NoSQL databases in systems that use relational databases. This article covers 15 tips for modeling databases in 2021 (the database modeling tool used in this article is Vertabelo).

Top 7 Useful Online Database Tools

Let’s discuss some useful tools for designing and developing your database hassle free while saving you money and time. In the modern software world, database systems play an important role. Most businesses depend on various database systems. Database architects and software engineers design and develop various types of database systems to manage the business. Online database tools have become very well known among database specialists and software engineers for their advantages.

Data Modeling Tools: Choosing the Best for Your Needs

Data Modeling Tools: Choosing the Best for Your Needs Before you can choose the right data modeling tools, you have to understand what a data model is and how to use it. This article will explain those concepts and then compare some of the various data modeling tools available. A data model is defined as an abstract model that organizes several aspects of data (e.g. data description and semantics and the consistency of data constraints).

What's the Best MySQL ER Diagram Tool?

Still spending hours of manual work on MySQL data modeling? Discover the best MySQL modeling tools that save you time and money! The ER diagram (or entity-relationship diagram) has become an extremely popular data modeling concept among data architects, database administrators, and DB developers. And MySQL is one of the most popular database management systems (DBMS), especially for web applications. Thus, many ER diagram tools that support MySQL (aka MySQL ERD tools) have arrived in the market during the last decade.

What to Look for in Your ER Diagram Tool

Do you find it challenging to choose the perfect ER diagram tool to save time and cost for your next database project? Unsure which features are the most important to include in your evaluation criteria? Read this article! The entity relationship diagram, or ER diagram, has been an industry standard used in database modeling among database architects for many years. An ER diagram is a graphical way of presenting a proposed database schema (tables, references, views, etc.

What Is an ER Diagram?

If a picture is worth a thousand words, then entity-relationship diagrams (or ER diagrams) are a priceless way to visually explain the structure and behavior of a software solution. Learn how to make your own ERDs with the Vertabelo online data modeler! The term entity-relationship diagram and its abbreviations ER diagram and ERD are frequently used when designing and implementing databases. What are these entities and relationships we’re diagramming?

Getting Started with ER Diagrams in Vertabelo

Learn how to use Vertabelo’s user-friendly data modeling platform to create your first Entity-Relationship (ER) diagram! If you’ve never used an online ER diagram tool before, you might be a bit lost about where to start. Don't worry; I’ll give you a step-by-step guide to getting started with Vertabelo and creating some basic ERDs (Entity Relationship Diagrams). Vertabelo is an online ER diagramming tool that helps design and visualize databases.

Why Do You Need an ER Diagram?

Curious about why we model data with an entity-relationship diagram (ERD)? You've come to the right place. An entity-relationship diagram, or ER diagram, is essential for modeling the data stored in a database. It is the basic design upon which a database is built. ER diagrams specify what data we will store: the entities and their attributes. They also show how entities relate to other entities. Another advantage of ERDs is that they represent the data in a graphical manner.

Top 7 Entity Relationship (ER) Diagram Online Tools

Are you searching for the best online ER diagram tool? Read on and discover our top picks. Data modeling is one of the most critical parts of a software project. Database architects use ER diagrams (also called ERDs or Entity Relationship Diagrams) as a data modeling technique. Many ER diagram tools are available, but choosing the best tool for your project can be hard. Still, your data model is a key factor in the success of your entire project; it’s important to get it right.

2020 Was Vertabelo Database Modeler’s Year. It’ll Get Even Better in 2021.

2020 is coming to an end. It's been a busy year for us, so let's summarize what we did at Vertabelo. I will also show you how the Vertabelo database modeler will evolve in 2021. This is already a great tool, but it will be even better. See what we plan to do. I am not exaggerating when I say that we had our hands full in 2020. In addition to constantly improving the Vertabelo database modeler and creating new Vertabelo Academy courses, we have launched completely new platforms for learning SQL and Python.

How to Draw an ER Diagram Online

In this article, I will be listing some of the top tools for drawing ER diagrams online. Priority will be given to ease of use, user experience, and functionality. An entity relationship diagram, or ER Diagram (ERD), is a visual model of your database schema. It describes the database structure and helps conceptualize how pieces of data interact with one another across a robust database. To some extent, ER diagrams look like flowcharts; they show the database tables as rectangles, with connecting lines representing the relationships between tables through primary and foreign keys.

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

Tip #24 – How to name a version of the model

Vertabelo offers you a feature to assign tags to particular versions of your model. It may be used, for example, to match the versions of your database model with the versions of your application. To assign a tag to the current version of the model, click three dots next to your model name if you are working on a diagram and then click Set tag: Enter a tag name and click Set tag.

Tip #23 – How to create a reference to an alternate key

Sometimes, you want the reference between two tables to reference an alternate key and not the primary key. Here's how you can do it in Vertabelo. In this example, we want to model cars and their owners using owner and car tables. The car table has an alternate key consisting of the vin column: We want the owner table to refer to the car table, but using the car table’s alternate key.

Tip #22 – How to identify problems with my model

Vertabelo has a built-in mechanism of live validation that checks your model all the time and gives you hints on how to improve it. Every error, warning or tip is flagged by a dedicated icon that you cannot fail to notice. Within your workspace, the problems are indicated in two places. In the left panel you can review all problems found in your model, while on the right side you’ve got information on problems detected in the currently selected object only.

Tip #21 – How to quickly find a table in a diagram

Do you know the quickest way to find a single table even in the largest diagram you can imagine? The answer is to double click the table’s name in the navigation tree! In the Model structure panel on the left, you’ve got a navigation tree with groups of all elements used in your diagram, including database objects such as tables, references and views, as well as other subsidiary elements like subject areas and text notes.

Tip #20 – How to configure Vertabelo printouts

Sometimes you may want to export your database model to a PDF file, especially for documentation purposes. It often happens that your diagram is larger than the default page size set in Vertabelo. If that's the case, you should configure the printout options in the Format section. Make sure that no element in your diagram is selected. Go to the Model properties panel on the right and expand the Format section which provides some basic formatting parameters.

Tip #19 – How to automatically download SQL script from Vertabelo

If you need to automatically download SQL script from Vertabelo, for example, for the purposes of your build system, you definitely should check out our Vertabelo API. It allows you to download an SQL or XML of your model by a simple HTTP request. In the command line, it may look like this: VERTABELO_API_TOKEN=put-your-api-token-here MODEL_ID=put-your-model-identifier-here curl -u $VERTABELO_API_TOKEN: \ https://my.vertabelo.com/api/sql/$MODEL_ID create-database.sql To learn more about Vertabelo API, go here.

Tip #18 - Display all references between two tables

In our previous Tip #16 and Tip #17 you could have learned that using table shortcuts makes it easier to create a well-laid-out database model. Do you know that references between shortcuts may be shown in the diagram too? Let’s go back to our example from Tip #16. Assume that we have already created all necessary subject areas. Now, we want to put shortcuts of all purchase-related elements in the Purchase subject area.

Tip #17 – Drag a table from the navigation tree and drop it in your diagram to create a shortcut

In our previous Tip #16, we showed you how to create shortcut tables using copy and paste. But did you know that you can create a shortcut of a table with only one move of your mouse? Just find the table in the navigation tree and then drag and drop it in the desired place in your diagram. Let’s assume that you want to create a reference line between two tables that are located quite far away from each other in your database diagram:

Tip #16 – Can I put the same table in the diagram twice?

Yes, you can! Shortcuts combined with subject areas might completely change your approach to database modeling. They allow you to make your diagram much more structured, logically divided and readable. Let’s look at an example. At the beginning, we have a really standard database model for a shop. Open your database model in Vertabelo: Now, we’re going to use subject areas in the model. To start, let’s put the whole model in a subject area:

Tip #15 – How to visually group tables and organize large database models using subject areas

Large models often happen to be quite messy. Using subject areas, you can improve the readability of your model and make it easier to work with. The idea behind subject areas is to group tables inside them according to their purposes – it allows you to create some logical structure in your model and makes navigation through it more natural. Open your database model in Vertabelo: To create a subject area, choose Add new area from the toolbox or press 7 on your keyboard:

Tip #14 – How to create a model preview link and embed the model in a website

When it comes to sharing things like documents or photos with other people, sending files to each other is becoming less and less common – we usually prefer to send links. They are quick, convenient and neither use up disk space nor make a mess in our file system. At Vertabelo, we know how inconvenient it can be to send files and that’s why we created public links for models.

Tip #13 – How to export selected tables as an image

Probably you have already generated an image for your model, but did you know that the image may be generated for chosen elements only? Open your database model in Vertabelo: Select the desired objects with Ctrl + Click or using Select area from the toolbox: Click Export model to image in the top toolbar: Select image file type, click Selection and then Generate:

Tip #12 – The quickest possible way to create a new column

From our previous Tip #2 you could learn how to move between columns in your table using just arrow keys. Now, we will show you how to use the Down arrow to create one or even more new columns. Probably, this is the fastest way of creating new columns in this part of the galaxy. You really have to learn this. Open your database model and select the table in which you want to create a new column.

Tip #11 – Vertabelo reports that my data type is not supported. What can I do?

Sometimes you may want to use a data type that is so new that Vertabelo doesn’t recognize it. In such cases, the application displays a warning that the data type is not supported. If you find these warnings too distracting, you can turn them off. In this post, we will show you how to do it. Let’s take a look at the following example. Assume that you have a database model for SQLite 3.

Tip #10 - How to use a data type that is not listed in the data types panel

This one is frequently asked on our support: “In the data types panel, I can’t find the data type I need. Does this mean I cannot use it in Vertabelo?” Of course, you can. Vertabelo will never let you get stuck in a data type dead end. Even if the type you need is not listed, it doesn’t mean you cannot use it. Data types you can find under the button are just the most popular ones.

Tip #9 – How to create multiple references between two tables

Relationships in the real world may not be as easy as we would like them to be. Sometimes we want to model a situation where one table is refering to the other more than once. Luckily, with Vertabelo, this is a piece of cake. Let’s say we want to model a rental agreement between two people: landlord and tenant. In this situation, the rental_agreement table would need to refer to the person table twice – first for the landlord and second for the tenant.

Tip #8 – Setting Your Own Names for Primary Key

Sometimes the naming convention you use requires a specific pattern for the primary keys’ names. That’s why you may want to set your own names for each primary key in your database model instead of using default ones. Go on reading to get to know how to do this in Vertabelo. To give your own name to a primary key, select the table that contains the primary key you want to name:

Tip #7 – How to include comments in SQL script

You can comment on your database objects (tables, columns, views) in Vertabelo. You can also include this metadata in your database, where it can be accessed by your SQL developers or DBAs. Here’s how you can do it. Go to your database model: Click SQL generation settings in the Model properties panel on the right: Check the Include comments for database objects option: Let’s try out how it works.

Tip #6 – How to Create a Multicolumn Primary Key

Primary keys may contain more than one column. Multicolumn primary keys are frequently used for junction tables, which are used to model many-to-many relationships. Select a table: In the Table properties panel on the right, check all the columns that you want inside the key: Now, you have a multicolumn primary key created: You can check out your SQL code by clicking the SQL preview button in the top right corner:

Tip #5 – How to quote table names in generated SQL script

Sometimes, you want all identifiers in your SQL script to be quoted. For example, you want them to have a particular case. Luckily, Vertabelo allows you to quote all SQL identifiers in your generated script to prevent you from any SQL name conflicts. Go to your model: Click the SQL generation settings tab in the Model properties panel on the right: Check Quote all SQL identifiers:

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

Tip #3 - How to copy table between models

Did you know that you can copy tables between models in Vertabelo? It’s useful for instance with tables that appear in almost every database model like user_account, address, client or product, or with tables that are specific for your domain. You don’t have to create all these tables from scratch. Open the model which contains the tables you want to copy and click to select them. Note that you can hold down the Ctrl key if you want to select objects located in different parts of your model:

Tip #2 - Keyboard shortcuts in Vertabelo

Would you like to make your database modeling faster and more convenient? Of course you would! One way to achieve this is to learn your database modeling tool’s keyboard shortcuts. To check them when working in Vertabelo, press Ctrl + I. They can be grouped into several categories/tabs. Our favourite Vertabelo shortcuts Down arrow in the Columns section Did you know that you can move between columns in your table using arrow keys?

Tip #1 - How to move column up or down

Have you ever changed your mind about the order of columns in your table? You probably have! Fortunately, changing the order of columns in Vertabelo is as easy as pie. Select the table that contains the column you want to move up or down. In Table properties on the right, you can see a list of the columns. On the left of each column’s name, there is a column selector:

Vertabelo Advent Calendar

From today until Christmas Eve, we’re going to publish some tips & tricks for Vertabelo. Check our blog every day for a new one! List of all available tips: How to move a column up or down Use keyboard shortcuts in Vertabelo! How to copy tables between models How to make a column unique How to quote table names in generated SQL script How to create a multicolumn primary key How to include comments in SQL script How to name a primary key How to create multiple references between two tables How to use a data type that isn’t listed in the data types panel Vertabelo reports that my data type is not supported.

How to Color ERD Diagrams in Vertabelo

If you’ve ever had to design a database model with hundreds of tables, views and references, you know very well how difficult is to make such huge diagram readable and comprehensible. One of the possible solutions is to use some colors to distinguish different groups of tables or subject areas. See how Vertabelo allows you to do this quick and easy. To illustrate how you can color your entity relationship diagram to increase its readability, we will use a sample uncolored database model for a simple online store:

Vertabelo vs. Navicat Data Modeler

In this article, I’ll make a comparison of two popular database modelers: Vertabelo in version 1.21.0 and Navicat Data Modeler in version 1.0.12. Features are listed in the left-hand column and each tool’s feature support is identified under the appropriate heading. Vertabelo Navicat Data Modeler Online tool works under Chrome OS independent Standalone version available for: Linux Mac OS X Windows Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server (Windows and Mac OS X editions only) Oracle SQLite SQL Azure (Windows and Mac OS X editions only) Supported data types Vertabelo supports a particular database from creation.

Comparison of Web-Based Tools for Data Modeling

In this article, I will compare two online database modelers: Vertabelo and Sea Quail Database Diagram Tool. Here is a matrix of each tool’s key features and functionality. Compared versions: Vertabelo 1.14.3, Sea Quail v.32. Vertabelo Sea Quail Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server Supported data types Vertabelo supports particular database from the begining.

Five reasons why we built Vertabelo

We are launching a new product on a market, so let me tell you the short story about how and why Vertabelo was born. e-point and I personally have more than fifteen years of experience in building business applications. All of them use relational databases as a storage for their data. Most of those applications are rather big - think about hundreds of tables in a database and hundreds of screens in a UI.

Tag: Database normalization

How to Normalize a Database Into 2NF and 3NF (With Examples)

We present a practical example of how to normalize a table that is in the first normal form (1NF) into a set of tables in the third normal form (3NF). Database normalization is a very important concept in database design. Every database designer should know the rules for different normal forms. In practice, the most important normal form is the third normal form (3NF). If you want to be a database designer, you should know how to check if a table is in 3NF.

What Is a Candidate Key in Database Design?

A candidate key is an important concept in database normalization. Read on to find out what a candidate key is and how to check if a set of attributes is a candidate key. The candidate key, also simply called a key, is an important part of database design. It is the theoretical foundation for technical concepts like primary and alternate (unique) keys. Every database designer should be aware of how to identify candidate keys and how to choose the right one for their table.

How To Find the Closure of a Set of Attributes (With Examples)

Do you know what a closure of a set of attributes is? Do you know how to find it? This knowledge is essential for database normalization. In this article, learn what a closure of a set of attributes is and how to find it with real-world examples. Finding the closure of a set of attributes is an important topic for relational databases. The closure of a set of attributes is taught in every university database class.

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

Star Schema vs. Snowflake Schema

In the previous two articles, we considered the two most common data warehouse models: the star schema and the snowflake schema. Today, we’ll examine the differences between these two schemas and we’ll explain when it’s better to use one or the other. The star schema and the snowflake schema are ways to organize data marts or entire data warehouses using relational databases. Both of them use dimension tables to describe data aggregated in a fact table.

Denormalization: When, Why, and How

Databases are designed in different ways. Most of the time we can use “school examples”: normalize the database and everything will work just fine. But there are situations that will require another approach. We can remove references to gain more flexibility. But what if we have to improve performance when everything was done by the book? In that case, denormalization is a technique that we should consider. In this article, we’ll discuss the benefits and disadvantages of denormalization and what situations may warrant it.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

What Is the Actual Definition of First Normal Form (1NF)?

The First Normal Form (1NF) is exceptional. The other normal forms (2NF, 3NF, BCNF) talk about functional dependencies and 1NF has nothing to do with functional dependencies. Moreover, we have precise definitions for other normal forms and there is no generally accepted definition of 1NF. Does 1NF Equate to “Atomic Attributes”? When you look at various descriptions of 1NF the word that you see most often is atomic. It is common to say that a relation is in 1NF if all its attributes are atomic.

How (And How Not) to Decompose Relations

When you read about normalization you usually get the set of conditions that a database in the nᵗʰ normal form should satisfy and the set of rules, a sort of a cook-book, for obtaining that normal form. But why these rules are safe to apply to your denormalized relations is a skip material. Here, I would like to present some elementary concepts on how we decompose relations and what can go wrong.

The Boyce-Codd Normal Form (BCNF)

Why do you need all of this normalization stuff? The main goal is to avoid redundancy in your data. Redundancy can lead to various anomalies when you modify your data. Every fact should be stored only once and you should know where to look for each fact. The normalization process brings order to your filing cabinet. You decide to conform to certain rules where each fact is stored. Nowadays the go-to normal forms are either the Boyce-Codd normal form (BCNF), which we will cover here today, or the third normal form (3NF), which will be covered later.

On Keys

Today we continue our series of posts on data normalization. In the previous post on data normalization I explained what functional dependency is. Today we will talk about candidate keys in a table. A candidate key is a set of columns such that all other columns in the table are dependent on it, and the set is minimal, that is if you remove a column, then the resulting set is not a candidate key.

On Functional Dependencies

Do you remember the post about update anomalies? I promised you we’d explain how to design tables which have no update anomalies. So here we go! Today we begin a series of posts on data normalization. We will talk about functional dependencies, a concept that needs to be explained before we dive deeply into database schema normalization. The subject is rather abstract and theoretical but I will try to restrain myself from going too deep into mathematics.

Update Anomalies

Let’s take a look at the following table: Customer Purchase date Product name Amount Price Total price Joe Smith 2014-02-14 Yoga mat 1 80 80 Jane Bauer 2014-02-16 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga strap 1 10 10 Thomas Apple 2014-02-18 Dumbbells 2kg 2 30 60 Jane Bauer 2014-02-16 Yoga mat 1 80 80 What’s wrong with this table?

Tag: Database schema

Best Database Schema Diagram Tools

Every successful database development journey starts with great data modeling software. Continue reading to explore the best database schema diagram tools. Data modeling is the first step of database development. It’s the methodical process of graphically classifying and organizing all the pertinent data in an information system. A Brief Refresher on Data Modeling and ER Diagrams The three stages of the data modeling method are conceptual, logical, and physical data modeling.

Where to Find Database Schema Examples

Database schema examples are easy to find. But not all of them will meet your needs. Here’s how to find helpful examples of database design. Database schema examples are easy to find. A Google search will return millions of results. The problem is that you don’t need millions of sample database models. You need at most two or three that solve your specific needs. What you should look for is a curated list of database schema examples and learning resources.

Top 8 Database Schema Design Tools

Database modeling is the first and most crucial step in creating a database. Read on to find out about our favorite database diagramming tools. In this article, we’ll talk about database modeling and why you need data modeling in the first place. Then we’ll introduce several database modeling tools that facilitate database schema design, including: Online database modeling tools: Vertabelo SqlDBM DbDio SqlDBD Standalone applications for database modeling: Navicat ERBuilder SQL Developer Data Modeler MySQL Workbench The database design process is more than just creating an entity-relationship diagram, or ERD.

Tag: Database security

Database Design for Security: Best Practices to Keep Sensitive Information Safe

Keeping data safe and secure is a top priority for database designers and administrators. Learn how to design a database for security in this article. When designing a database, security should be one of the top aspects to be considered. Databases store sensitive and valuable information, making them an attractive target for malicious actors. Protecting the data and ensuring its integrity and confidentiality are some of the most critical aspects when designing and implementing a database.

Tag: Database Sequences and How to Define Them in Vertabelo

Database Sequences and How to Define Them in Vertabelo

All rows in a database need to have a unique identifier. But what if you need to have unique identifiers for all of the rows in all of your tables? We know GUIDs are problematic when indexing, so what other options are there? A database sequence might be a great option.   What Is a Database Sequence? A database sequence is a type of object created in a database that allows developers to generate unique values.

Tag: Date

Viewing Holidays With Data Modeler’s Eyes

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.

Tag: Dbms

What Are the Popular Database Management Systems?

What are the most popular DBMSs in the software industry, and why are they popular? Read on to upgrade your knowledge. As a software engineer or a student learning about databases, you may know and work with many database management systems (DBMSs) in your projects. There are hundreds of DBMSs in use in the modern database world, so it pays to know about the most popular DBMSs and their features, advantages, disadvantages, and their applications.

What Is a Relational Database Management System (RDBMS)?

The relational database management system is the backbone of every database. No matter what relational database you work with, you’ll be using its RDBMS to interact with its data. What Does RDBMS Stand for? The acronym “RDBMS” stands for “relational database management system,” which is the part of the database that allows you to interact with the data. Sometimes alternate acronyms are used, especially “DBMS” in relation to a database that is not necessarily relational.

Tag: Ddl import

4 Tips for Troubleshooting DDL Import in Vertabelo

Read these troubleshooting tips before using the DDL import option to generate data models in Vertabelo. Avoid running into potential errors that waste your valuable designing time. Few data modeling tasks start from a blank sheet of paper. More often, we work on a pre-existing database. You don't want to draw an ERD of an existing database from scratch. But I don’t have to tell you that. This task is much simpler and infinitely faster with a modeling tool that can load the database structure using a DDL import feature.

Tag: Ddl script

How to Generate a SQL Script in Vertabelo?

Find out how to generate a SQL DDL script using Vertabelo and what this script does. You probably already know what ER diagrams are. If you're not sure, you can find out here. You can create ERDs easily in Vertabelo. But did you know that Vertabelo can also generate a SQL DDL script from your physical ER diagram? Of course,  you first need to create a physical diagram. Once your ER diagram is ready, you can create a DDL (Data Definition Language) script.

Tag: Denormalization

What Is Denormalization?

Denormalization in databases is an optimization technique for improving the performance of certain queries. We may need to apply denormalization when the usual normalization incurs some performance penalties. This is often the case when the data volume has changed but we cannot extend the database resources anymore. Denormalization aims to improve query performance in a database. When data volume grows, we may not be able to extend the database resources anymore.

Denormalization: When, Why, and How

Databases are designed in different ways. Most of the time we can use “school examples”: normalize the database and everything will work just fine. But there are situations that will require another approach. We can remove references to gain more flexibility. But what if we have to improve performance when everything was done by the book? In that case, denormalization is a technique that we should consider. In this article, we’ll discuss the benefits and disadvantages of denormalization and what situations may warrant it.

Tag: Design

Five Common Dimensional Modeling Mistakes and How to Solve Them

When designing your dimensional model, it is worthwhile to watch out for mistakes that commonly occur during the process. Specifically, they can occur in the relationships between tables, both in fact-to-dimension and dimension-to-dimension relationships. In this post, we’re going to take a closer look at five common modeling mistakes and what you can do about them. As you start a BI-related project, bulletproof dimensional design is hugely important. What makes a design bulletproof is the early mitigation of common design mistakes.

Using Configuration Tables to Define the Actual Workflow

The first part of this series introduced some basic steps for managing the lifecycle of any entity in a database. Our second and final part will show you how to define the actual workflow using additional configuration tables. This is where the user is presented with allowable options each step of the way. We’ll also demonstrate a technique for working around the strict reuse of ‘assemblies’ and ‘sub-assemblies’ in a Bill of Materials structure.

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

Using Workflow Patterns to Manage the State of Any Entity

Have you ever come across a situation where you need to manage the state of an entity that changes over time? There are many examples out there. Let’s start with an easy one: merging customer records. Suppose we are merging lists of customers from two different sources. We could have any of the following states arise: Duplicates Identified – the system has found two potentially duplicate entities; Confirmed Duplicates – a user validates the two entities are indeed duplicates; or Confirmed Unique – the user decides the two entities are unique.

13 Blog Articles on Database Design Best Practices and Tips

There’s a lot to keep in mind when you’re designing a database, and very few of us can remember every valuable tip and trick we’ve learned. So, let’s take a look at some online resources that feature database design tips and best practices. As we go, I’ll share my own opinions on the ideas presented, based on my experience in database design. Obviously, this article is not an exhaustive list, but I’ve tried to review and comment on a cross section of sources.

Viewing Holidays With Data Modeler’s Eyes

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.

19 Online Resources for Learning About Database Design Errors

We all make mistakes, and we can all learn from other people’s mistakes. In this post, we’ll take a look at numerous online resources for avoiding poor database design that can lead to many problems and cost both time and money. And in an upcoming article, we’ll tell you where to find tips and best practices. Database Design Errors and Mistakes to Avoid There are numerous online resources to help database designers avoid common errors and mistakes.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Database Modeling

I wrote a song about dental floss but did anyone’s teeth get cleaner? Frank Zappa When we think of the dental office, our first associations are the drill, the pain, and the fear. OK, that sounds bad. Besides taking care of teeth, a dentist has many other obligations that are professional, legal, or both. All of them require proper data management. To meet this documentation requirement, many dental and medical offices use paper records.

Database Modeling Course (2)

You’re finally ready to get down to real data modeling. We’ll start off with entities and their attributes. Entities are the basic building block of every data model. In this post, you’ll find out what they are and how to identify them. What Is an Entity? What is a Specific Instance of an Entity? Data models help us to identify what kind of information we’ll store in our system. We use such models to address the question What will the data in our system be about?

Naming Conventions in Database Modeling

What’s In A Name? The Database Edition Database models require that objects be named. While several facets of naming an object deserve consideration, in this article we’ll focus on the most important one: defining a convention and sticking to it. Why Use Naming Conventions? Look at the database model below. I went a bit overboard and removed as many traces of a naming convention as I could. This proves my first point: a naming convention is an important part of a well-built data model.

Building an Information Mart With Your Data Vault

In the 3rd post in this series, we looked at how we prepare data for use with a concept called the Business Data Vault. Now, in this final part, I will show you the basics of how we project the Business Vault and Raw DV tables into star schemas which form the basis for our Information Marts. Raw Data Mart vs. Information Marts As of Data Vault 2.0, the terminology changed a bit to be more precise.

Creating Tables for Products and Services

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.

The Business Data Vault

In my last post, we looked at the basics of modeling your data warehouse using the Data Vault 2.0 technique. This time, we get into the details of how we prepare the DV tables for business user access. What is a Business Data Vault? If you have done any investigation into Data Vault on various blogs or the LinkedIn discussion group, you have seen a few terms used that often cause confusion.

Applying Simple Access Control to a Small Data Model

“Information is the lifeblood of any organization…” We hear a lot of statements like this, or about an “information age,” or an “information economy.” When we agree with belief that amplifies the importance of information in the world today, we have to consider how to make that all-important information secure. Who can see my bank account? Was the facilities maintenance contract lost? Why can’t I get the latest lab report?

Data Vault 2.0 Modeling Basics

In my last post, we looked at the need for an Agile Data Engineering solution, issues with some of the current data warehouse modeling approaches, the history of data modeling in general, and Data Vault specifically. This time we get into the technical details of what the Data Vault Model looks like and how you build one. For my examples I will be using a simply Human Resources (HR) type model that most people should relate to (even if you have never worked with an HR model).

Database Modeling Course (1)

Data modeling is an essential step in the process of creating any complex software. It helps developers understand the domain and organize their work accordingly. In this article, which begins a new series devoted to database modeling, we’ll try to convince you why you should include it in your projects and what it looks like. Do I Really Need Data Modeling? As a novice developer, you often start your programming adventure with simple applications like the sieve of Eratosthenes or enumerating the Fibonacci sequence.

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

What Is the Actual Definition of First Normal Form (1NF)?

The First Normal Form (1NF) is exceptional. The other normal forms (2NF, 3NF, BCNF) talk about functional dependencies and 1NF has nothing to do with functional dependencies. Moreover, we have precise definitions for other normal forms and there is no generally accepted definition of 1NF. Does 1NF Equate to “Atomic Attributes”? When you look at various descriptions of 1NF the word that you see most often is atomic. It is common to say that a relation is in 1NF if all its attributes are atomic.

Tackling Your Troubles – Building a Bug and Problem Database

Death and taxes – add “software problems” to that list of the inevitable. There is always a new issue, a new failure, a new key opportunity that an organization must address. And to avoid repeating the problems, or to revise your prior fixes, it is critical to capture the problems accurately and completely. You need a history of what happened and when. In this piece, we create the logical model for a problem or “bug” reporting system.

Defining Identifying and Non-Identifying Relationships in Vertabelo

Various data modeling tools allow modelers to define relationships in a data-model as identifying or non-identifying. We can define a relationship as identifying or non-identifying in Vertabelo as well. This article will explain the way to do so. Introduction Before moving ahead with the article, I’d like to explain what identifying or non-identifying mean. Let’s take a real time example of a book storing system. In the system, a book belongs to an owner, and an owner can own multiple books.

Managing Roles and Statuses in a System

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.

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.

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

How to Store Authentication Data in a Database. Part 1

How difficult is it to program a user login function for an application? Novice developers think it’s very easy. Experienced developers know better: it is the most sensitive process in your application. Errors in login screens can lead to serious security issues. In this article we take a look at how to store authentication data in your database. The most common way to authenticate users nowadays is with user name and password.

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.

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 Book Review

Book and Author Importance of Data Model Quality Takeoff Checklist Merciless Review Merciless Humiliation? Is it Agile? Conclusion Book and Author Today I’m going to review “A Check List for Doing Data Model Design Reviews” by Kent Graziano. This publication is available as an e-book on Amazon.com. The book is very short – it will take you less than an hour to read it. But don’t let the small volume mislead you.

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.

5 Steps for an Effective Database Model

Database design is the process of producing a detailed model of a database. This model contains the necessary logical (table names, column names) and physical (column datatypes, foreign keys) choices to translate the design into a data definition language (aka SQL), which can be used to create the actual physical database. When I need to create the design for a new database, in other words, the data layer for an application, I follow a few mental steps that I think can help others when they need to go through the same process.

5 Must-Read Database Modeling Books?

I recently realized that our database modeling library could use a few more advanced titles. So I headed over to Amazon to see what they had on offer. There are plenty of introductory books for beginners that tell you how to normalize data, and introduce you to indexes, but what about something for the professional, grown-up database modeler? Here are 5 of the best database modeling books I found (listed in no particular order) that go beyond the basics and come highly recommended by Amazon reviewers.

How Do You Make Your Database Speak Many Languages?

The Scenario You are the owner of an online store, located in Poland. The majority of your customers are from Poland and they speak Polish. But you want to sell your products abroad too and your international customers mainly speak English. So you want your online store to be available in both Polish and English. You also expect that your products will sell well in France, so you anticipate that you’ll have to prepare a French version of the store as well (and maybe Spanish too, because why not?

UML Notation

UML is popular for its notations. We all know that UML is for visualizing, specifying, and documenting the components of software and non software systems. What’s more, UML has many types of diagrams which are divided into two categories. Some types represent structural information, others general types of behaviors. Among these, there is one that is commonly used for entity relationship diagrams. In UML, an entity is represented by a rectangle:

Arrow Notation

Arrow notation has become one of the less recognized notations in entity relationships diagrams in recent years. Let’s discuss its elements. Entity and relationships As you can see below, an entity is always represented by a rectangle, which is common to most notations (there isn’t a distinction if it is dependent or independent entity). Relationships and cardinality are represented by various combinations of arrows as the diagram below presents.

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Chen Notation

Continuing our trip through different ERD notations, let’s review the Chen ERD notation. Peter Chen, who developed entity-relationship modeling and published his work in 1976, was one of the pioneers of using the entity relationship concepts in software and information system modeling and design. The Chen ERD notation is still used and is considered to present a more detailed way of representing entities and relationships. Entities An entity is represented by a rectangle which contains the entity’s name.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

ERD Notations in Data Modeling

An entity relationship diagram (ERD) is a diagram that defines the structure of database instances. Choosing which notation to use is typically left up to personal preference or conventions. Here, you can find some useful information about each notation: Part 1 – Barker’s Notation Part 2 – Chen Notation Part 3 – IDEF1X Notation Part 4 – Arrow Notation Part 5 – UML Notation Part 6 – Crow’s Foot Notation Which ERD notation are you using?

How to Model Inheritance in a Relational Database

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.

N-ary relationship types

When we design a database, we draw an entity relationship diagram (ERD). It helps us understand what kind of information we want to store and what kind of relationships there are. It is imperative that this diagram is easy to read and understand. The number of entities in a relationship is the arity of this relationship. The aim of this article is to give some examples and show how big an impact the arity of relationships has on not only the readability of the diagram, but also the database itself.

Database Design 101: How to Start Creating a Database Model

In this video you will learn how to start creating your database model. You will find out why nouns are important and how you should handle them when creating a database model. If you want to learn more, read our beginner tutorial on how to create a database model. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.

The Boyce-Codd Normal Form (BCNF)

Why do you need all of this normalization stuff? The main goal is to avoid redundancy in your data. Redundancy can lead to various anomalies when you modify your data. Every fact should be stored only once and you should know where to look for each fact. The normalization process brings order to your filing cabinet. You decide to conform to certain rules where each fact is stored. Nowadays the go-to normal forms are either the Boyce-Codd normal form (BCNF), which we will cover here today, or the third normal form (3NF), which will be covered later.

Update Anomalies

Let’s take a look at the following table: Customer Purchase date Product name Amount Price Total price Joe Smith 2014-02-14 Yoga mat 1 80 80 Jane Bauer 2014-02-16 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga block 2 30 60 Joe Smith 2014-02-14 Yoga strap 1 10 10 Thomas Apple 2014-02-18 Dumbbells 2kg 2 30 60 Jane Bauer 2014-02-16 Yoga mat 1 80 80 What’s wrong with this table?

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Database Design 101: References

In this video tutorial you will learn about references – how to create a relationship between the tables, how it affects their structure, and how it looks in the data. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Good news: we now support views

Today we are happy to announce that Vertabelo has a new feature we've been working on for some time – views. Now you can easily add them to the diagram, change their definition and other properties and have them generated in your SQL scripts. Quick overview of views Let's take a look at how simple it is to create a new view in our editor. Our goal is to make a view which joins three tables as follows:

Five reasons why we built Vertabelo

We are launching a new product on a market, so let me tell you the short story about how and why Vertabelo was born. e-point and I personally have more than fifteen years of experience in building business applications. All of them use relational databases as a storage for their data. Most of those applications are rather big - think about hundreds of tables in a database and hundreds of screens in a UI.

Tag: Development

Merging Multiple User Accounts

Social media surrounds us, so it’s not unusual for applications to require some kind of social media integration. The most common issigning in with Facebook, Twitter, or another service. Users expect to be able to log in with different social accounts. So, applications meet these expectations by offering external login options. Let’s take a look at this functionality and investigate how to merge users’ accounts – specifically, we’ll consider the situation when people use several methods to log in.

How to Store Authentication Data in a Database. Part 4

Handling user registration and authentication isn’t an easy task. Both users and developers understand this. Users have to select and remember another username and password (taking into account different password policies, of course). A developer’s responsibility is to make this process secure and to properly protect the user’s data. So it’s no surprise that logging in with one account – Facebook or Google, for example – is extremely popular.

How You Can Use Hibernate With a Database Modeling Tool

Before writing this article, I talked to a group of software engineers who use Hibernate on a daily basis in their work. Some of them work for small companies (up to 20 developers on site) while others are employed in corporations known world-wide that employ over 100,000 IT professionals. This gave me an insight into how development with Hibernate is organized in different companies. There are several approaches to creating SQL scripts and Hibernate O/R Mapping classes.

How I Use the Vertabelo API With Gradle

What is Gradle? Gradle is an open source build automation system. It can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else. Learn more about what makes Gradle a compelling choice for build automation. One of the exciting moments in a programmer’s life is to leave legacy code behind and have fun with some new, fresh and cool tools.

Visual Design of SQLAlchemy Models in 6 Steps

In this article I’m going to show you how to design SQLAlchemy models using Vertabelo, an online tool for visual database design, and our code generator. SQLAlchemy is propably the most advanced and well engineered OR/M for Python, while Vertabelo is a database design tool that works in a web browser. The Vertabelo code generator is an pythonic script called vertabelo-sqlalchemy. As you can see, the script is open source and hosted on GitHub.

Tag: Dwh

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

Tag: What Is an ER Diagram?

What Is a Weak Entity and How Do I Denote It in an ER Diagram?

Although its name could suggest otherwise, a weak entity can be very useful for properly modeling a database. In this article, we’ll study examples of weak entities and learn how to use them to improve your data modeling skills. If you are about to design a data model, you probably already know what entities are and how they are represented in a diagram. If not, you can read about entities in Vertabelo’s logical model documentation.

The Difference Between Entities and Attributes in a Data Model

The entity-relationship model is composed of different elements. The most important types of elements are the entities and their attributes. In this article, we go into detail about the distinction between them, the role they play in a data model, and the steps to create them in Vertabelo. What Is Data Modeling? Data modeling is carried out by a database architect or database modeler. It is the process of creating a diagram that lists the set of data structures that are going to be the data backbone of a software application.

7 Tips for a Good ER Diagram Layout

In this article, you will learn some practical tips for organizing data models, creating readable layouts, and efficiently working with ERDs (entity-relationship diagrams). Database diagrams are to applications what blueprints are to buildings. The more components a building has, the more complicated it is to design. Unlike buildings, though, databases undergo persistent changes, which is why ER diagrams are used to understand the structure of the database and ensure that the most current models are deployed.

What Are the Symbols Used in an ER Diagram?

Find out what symbols are used in the Entity-Relationship Diagram (ERD) and what they mean. The most popular notation in ER diagrams is the Information Engineering (IE) notation, also called crow’s foot notation. This is the default ER diagram notation used in Vertabelo. There are a few standard symbols used in logical and physical ER diagrams, and some useful additional non-standard symbols that you can use in Vertabelo. We’ll discuss them in this article.

Explaining an ER Diagram, With Steps and Use Cases

Get to know what an ER Diagram is through use cases and examples. Explore the notations for the essential components of an ERD. Entity-relationship diagrams (ERDs) are used to visualize data and relationships among the entities of a system. At its core, an ER Diagram explains the logical structure and the flow of information within a data model. To do so, an entity-relationship diagram highlights entities, attributes, and relationships through predefined symbols for effective visualization of the architecture.

Tag: How to Draw an Entity-Relationship Diagram

An ER Diagram for a Billing System

Unveiling the database design of a comprehensive billing system model. A billing system is an intricate design that allows for the tracking of goods and services, the generation of invoices, and the processing of payments. It acts as the foundation for financial transactions in a variety of industries, ensuring that firms can manage their revenue streams efficiently and keep accurate financial records. In this article, we’ll discuss how to build an ER diagram for a billing system.

How to Design an ER Diagram for an Invoice Management System

Do you need to create an ER diagram for an invoice management system? Maybe you’re just curious about how the process would work. We are here to help. So, let's get started on creating the model for your invoice management database. To begin, we will create an entity-relationship diagram (ER diagram or ERD), which is a model of the database that represents the information to be stored by the invoice management system.

How Do You Design an ER Diagram for an Employee Database?

Do you need to create an entity-relationship model for an employee database? Or are you looking for a database design for an employee management system? Maybe you’re just curious about how the process would work. You've come to the right place. In this article, we’ll explain how to develop ER diagrams for an employee database. We’ll start with the logical model and move to the physical model (which is designed for a specific database management system (DBMS), such as Oracle, MySQL, etc.

How to Draw an Entity-Relationship Diagram

Curious about how to create an ER diagram (entity-relationship diagram or ERD) during the database design phase? We’ll explain how to understand and create ER diagrams and explore what ERD/database modeling tools can make the process quicker and easier. An entity-relationship diagram can be considered the blueprint of a database. We use entity-relationship diagrams when we are modeling data stored (or that will be stored) in a database. ER diagrams allow discussions of requirements, such as what information needs to be stored, what aspects of the information need to be secured, and how the information is linked together.

What Is a Schema Diagram? A Guide with 10 Examples

A comprehensive guide to database schema diagrams, with 10 illuminating examples. A schema diagram is a compelling visual representation of a database system's structure and organization. It functions as a blueprint for how entities, attributes, and relationships within a database are interconnected. This article is intended to demystify schema diagrams and provide you with a comprehensive understanding of their purpose and utility. Whether you are a database administrator, a software developer, or simply inquisitive about the inner workings of databases, this guide is for you.

Entity-Relationship Diagram Tools – What They Are and How to Choose the Best One for Your Project

Understanding the importance of ER diagram creators is crucial to finding the perfect tool for your data modeling needs. Entity-relationship diagrams (ERDs or ER diagrams) are crucial in database design and management. They provide a clear and concise map of the database's structure and visually represent the data and its relationships. However, you need an effective ERD design tool to create these complex diagrams. Given the wide range of options available, selecting the best instrument can be a daunting task.

Understanding Entity-Relationship Diagrams (ERDs) and Their Applications in Database Design

What is an entity-relationship diagram? How do you use it in database design and data modeling? This article will answer those questions. Entity-relationship diagrams (also known as ER diagrams or ERDs) are potent data model visualization tools used in system analysis and database design to depict the structure and relationships between entities. This article provides a comprehensive overview of ERDs, including their definition, purpose, and practical applications. We will also investigate how dedicated ER diagram tools like Vertabelo can facilitate the creation and administration of ERDs.

What Is an ERD in Database Design?

In this article, we’ll walk you through the steps of creating an entity-relationship diagram (ERD). We’ll explain when you need to use an ERD and what notations and tools are used to build ER diagrams. An entity-relationship diagram (or ERD) is a visual representation of entities and their relationships in a database. ERDs are created during the data modeling phase of software development, where database designers plan and organize data structures.

How to Model a Ternary Relationship in an ER Diagram

When you design a conceptual data model, a ternary relationship can be useful to represent how three entities are related. But eventually, you will have to decompose it into a series of binary relationships, or you won’t be able to implement it in a database. When we model data, we usually draw rectangles that represent entities and then establish relationships between them, drawing lines that go from one entity to another.

How to Export an SQL Server Database Schema Into a Diagram

If you have a database in SQL Server, you can generate its database diagram to visualize your data. Better yet, you can export your database as an SQL DDL script and use it to create a data model in Vertabelo where you can process it further. Read on to find out more. In this article, we review how to export SQL Server database schema into a diagram. First, we walk through how to create a database diagram in SQL Server, either for the entire database or for specific schemas of the database.

How to Create a Database Diagram in SQL Server

Learn how to create a database diagram using a data modeling tool for SQL Server. Microsoft SQL Server is one of the most popular database management systems (DBMS) among database developers. It’s used by many large organizations for a variety of databases. So, it is worth learning how to create a database diagram in SQL Server. A perfect database starts with a great database model. If the database is a skyscraper, the data model is the foundation.

A Complete Guide to Database Diagram Symbols

A complete guide to the symbols shown in entity-relationship diagrams (ERDs). Although data modeling became a necessity around the 1970s, there was no standard way to model databases or business processes. Many solutions were proposed and discussed, but none were widely adopted. Peter Chen is credited with creating the ER (entity-relationship) model, which introduced a way of mapping data model elements (which would become database elements) and their relationships. This model can serve as the diagram as well as the documentation for a database project.

What Is a Database Diagram?

A database diagram is essentially an abstract graphical representation of the structure of a database. It can be used both as a tool to assist in the design of a database and as a document that shows the structure of an existing database. You can think of a database diagram as a poster that you stick on a wall for programmers to look at when they need to know the name of a table or column.

How to Draw a Database Schema from Scratch

“The discipline of writing something down is the first step toward making it happen”, said Lee Iacocca, the famous automobile executive. So if you want a thorough database schema, you should start by writing it down. Database designers can suffer from blank page syndrome – the problem writers have when they don’t know how to start a novel. But luckily, we designers can go down a more methodical path. Unlike writers, we don’t need to wait for a sudden inspiration to propel us forward.

What Does Cardinality Mean in a Database?

Cardinality in an SQL database isn’t just a number representing rows in a table. It also has an impact on query performance. Learn how database cardinality works in this article. Cardinality is a term that originates from mathematics – more specifically, from relational algebra. But the term isn’t limited to the mathematical field; it also has implications in the world of databases. In this article, we will do a dive deep into this topic and explain cardinality in SQL databases and how it impacts your queries.

7 Tips for a Good ER Diagram Layout

In this article, you will learn some practical tips for organizing data models, creating readable layouts, and efficiently working with ERDs (entity-relationship diagrams). Database diagrams are to applications what blueprints are to buildings. The more components a building has, the more complicated it is to design. Unlike buildings, though, databases undergo persistent changes, which is why ER diagrams are used to understand the structure of the database and ensure that the most current models are deployed.

How to Add a Table to Your ER Diagram in Vertabelo

Find out how to add a table to your ER Diagram in Vertabelo. A table in a database is where some data about something is stored and organized logically in rows and columns. The columns in a table represent data and its types. For instance, a database for an e-commerce website would likely have a client table where data about each client is stored. It will very likely have a name column of type string.

6 Tips for Modeling a Legacy Database

Do you need to manage an existing database, but without a proper model of the entities and relationships? We're here to help. This article will explain the why, what, and how of modeling an existing database. Typically, in IT, we think that "legacy" is bad. In actual fact, legacy is often a way of life. Most organizations are not working with entirely new "greenfield" development. (Except in the world of startups.

Where Does Database Modeling Fit in the Software Development Life Cycle?

Every software application uses stored data, whether it’s a simple list of user preferences or a complex database with a large number of tables and relationships. The importance of data modeling tasks within the software development life cycle is in direct proportion to the complexity of that stored data and its relevance to the application requirements. In the case of an application that only stores a list of user preferences, database modeling tasks are minimal and can be handled by practically anyone.

What Is a Business or Natural Key?

A natural key is used to provide simple, easy-to-remember values (or set of values) that are meaningful to the business as an identifier for each row, rather than using business-agnostic, system-generated values as primary keys for database tables. Before getting into detail about what a natural key is, you might want to read the article “On Keys” to fully understand the concept of keys in a database model and their different types.

What SQL Scripts Can Vertabelo Generate for You?

A starting point for keeping your database management hassle-free is a good database modeling tool. A good ER diagram is not only about a pretty picture; it can actually carry a lot of secondary data. For example, it may contain all necessary column constraints or additional SQL scripts to be run at a specified time. A good database modeling tool lets you create a physical ER diagram, oversees and validates your model (including your custom data types), and also lets you generate SQL scripts to set up your database or adjust it to the changes in the model.

Data Modeling Tools: Choosing the Best for Your Needs

Data Modeling Tools: Choosing the Best for Your Needs Before you can choose the right data modeling tools, you have to understand what a data model is and how to use it. This article will explain those concepts and then compare some of the various data modeling tools available. A data model is defined as an abstract model that organizes several aspects of data (e.g. data description and semantics and the consistency of data constraints).

How to Prepare a Database Model

Create good logical, physical, and conceptual data models using these expert database model preparation tips. To put it simply, a database model is a data model that determines the logical or physical structure of a database. Database design is the process of creating a database model. A database model is used to capture information about the data that must be stored in a database. If you're a bit unsure about the steps involved in the database design process, I suggest you read this description of database design steps.

8 Things to Consider When Creating a Physical Data Model

Designing a clear physical data model can be challenging – especially when you don’t stop to consider these eight critical areas. Get our expert tips on creating a better physical model. A physical model is the technical implementation of a logical data model. It has a higher level of detail and is specifically created for a particular database vendor, taking into account that database management system’s technical features and restrictions.

What Is Cardinality in Data Modeling? The Theory and Practice of Database Cardinality

What is cardinality in data modeling? And how do you implement cardinality in databases? This discussion uses simple, easy-to-follow examples to describe both the theory and modeling of cardinality in ER diagrams. Cardinality is a mathematical term. It translates into the number of elements in a set. In databases, cardinality refers to the relationships between the data in two database tables. Cardinality defines how many instances of one entity are related to instances of another entity.

How to Generate a SQL Script in Vertabelo?

Find out how to generate a SQL DDL script using Vertabelo and what this script does. You probably already know what ER diagrams are. If you're not sure, you can find out here. You can create ERDs easily in Vertabelo. But did you know that Vertabelo can also generate a SQL DDL script from your physical ER diagram? Of course,  you first need to create a physical diagram. Once your ER diagram is ready, you can create a DDL (Data Definition Language) script.

How to Create Physical Diagrams in Vertabelo

So you don't like writing all of your SQL CREATEs by hand? Design your database with Vertabelo and let it generate the SQL file for you! As you may already know, there are three different levels of data models: conceptual, logical, and physical data models. The conceptual model is the most abstract, while the logical model has a few more technical details. The physical data model defines all the details needed for a specific database: column data types, primary and foreign keys, constraints, indexes, sequences, views, and other physical objects.

Vertabelo Feature: Amazon Redshift Support in Vertabelo

Find out how to design an Amazon Redshift schema in Vertabelo. Thanks to increasing volumes of data, analytical databases like Amazon Redshift are gaining market. We introduced Redshift support at the end of 2019; in this article, we will explain how to design a Redshift data model using Vertabelo. How to Create a Model Let's start with the data model creation process. To create a Redshift schema, please: Log into Vertabelo and click on Create new document.

How to Change the Diagram Notation Used in Vertabelo

Learn how to change ER diagram notation in the Vertabelo database modeler. Vertabelo supports many different ER diagram notations. The default notation (and the most popular) is the Information Engineering (IE) notation, which you may know as crow’s foot notation. Vertabelo also supports UML and IDEF1X notation for logical diagrams, and UML, IDEF1X and Barker’s notation for physical diagrams. In this article, you'll see how to change your ERD notation in the Vertabelo modeler.

What Are the Symbols Used in an ER Diagram?

Find out what symbols are used in the Entity-Relationship Diagram (ERD) and what they mean. The most popular notation in ER diagrams is the Information Engineering (IE) notation, also called crow’s foot notation. This is the default ER diagram notation used in Vertabelo. There are a few standard symbols used in logical and physical ER diagrams, and some useful additional non-standard symbols that you can use in Vertabelo. We’ll discuss them in this article.

How to Generate a Physical Diagram from a Logical Diagram in Vertabelo

Have you finished preparing your logical data model in Vertabelo? Awesome! In this article, we'll show you how to generate the physical data model from the logical model in Vertabelo. It’s just a few clicks away. Ready? Let's dive into it. Quick Intro In this article, we'll deal with a slightly modified version of Microsoft's Northwind Database. We often use it in our LearnSQL courses, such as Customer Behavior Analysis in SQL.

Explaining an ER Diagram, With Steps and Use Cases

Get to know what an ER Diagram is through use cases and examples. Explore the notations for the essential components of an ERD. Entity-relationship diagrams (ERDs) are used to visualize data and relationships among the entities of a system. At its core, an ER Diagram explains the logical structure and the flow of information within a data model. To do so, an entity-relationship diagram highlights entities, attributes, and relationships through predefined symbols for effective visualization of the architecture.

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

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.

UML Notation

UML is popular for its notations. We all know that UML is for visualizing, specifying, and documenting the components of software and non software systems. What’s more, UML has many types of diagrams which are divided into two categories. Some types represent structural information, others general types of behaviors. Among these, there is one that is commonly used for entity relationship diagrams. In UML, an entity is represented by a rectangle:

Arrow Notation

Arrow notation has become one of the less recognized notations in entity relationships diagrams in recent years. Let’s discuss its elements. Entity and relationships As you can see below, an entity is always represented by a rectangle, which is common to most notations (there isn’t a distinction if it is dependent or independent entity). Relationships and cardinality are represented by various combinations of arrows as the diagram below presents.

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Chen Notation

Continuing our trip through different ERD notations, let’s review the Chen ERD notation. Peter Chen, who developed entity-relationship modeling and published his work in 1976, was one of the pioneers of using the entity relationship concepts in software and information system modeling and design. The Chen ERD notation is still used and is considered to present a more detailed way of representing entities and relationships. Entities An entity is represented by a rectangle which contains the entity’s name.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

ERD Notations in Data Modeling

An entity relationship diagram (ERD) is a diagram that defines the structure of database instances. Choosing which notation to use is typically left up to personal preference or conventions. Here, you can find some useful information about each notation: Part 1 – Barker’s Notation Part 2 – Chen Notation Part 3 – IDEF1X Notation Part 4 – Arrow Notation Part 5 – UML Notation Part 6 – Crow’s Foot Notation Which ERD notation are you using?

Tag: Er diagram tool

ER Diagram Cheat Sheet

An ER diagram is a database blueprint. It facilitates data visualization and database development processes. Read on to find out what ER diagrams are and how to create them in Vertabelo. In this article, we’ll explain what an ER diagram is and what elements it contains. We’ll discuss ER diagram abstraction levels, such as conceptual, logical, and physical diagrams. You’ll learn how to build ER diagrams using various notations, such as Crow’s Foot notation, Barker’s notation, and more.

What's the Best Database Modeling Tool for Students?

Hey students! Are you searching for a data modeling tool you can use to explore the world of databases? Read on and find out the best data modeler options for you. Data modeling is analyzing, identifying, and graphically presenting the data involved in a business process. It’s used  to develop a database system. The three phases most models go through are conceptual, logical, and physical data modeling. Although several diagrams can be used to draw a data model, the Entity-Relationship Diagram (ERD) is the most common choice.

What's the Best ER Diagram Tool for Oracle?

Want to start your next Oracle database project? Find out the best Oracle ER diagram tool and save yourself some time and extra work! Oracle is one of the best and most popular database management systems (DBMSs) in the world. Many database architects prefer to use Oracle because of its easy networking and interaction, cross-platform service, simple administration and maintenance, and other benefits. On the other hand, an ER diagram (entity-relationship diagram) is an essential tool for data modeling.

What ERD Tools Can I Use to Create an ER Diagram?

As a database professional, the ER diagram should be an essential part of your toolkit. In this article, we’ll briefly examine data modeling and which ERD tools best meet database design requirements. What is data modeling, and how does an entity-relationship diagram (ER diagram or ERD) support it? 'Data modeling' is the process of arranging all the related data in an information system graphically, starting from scratch and going step by step through different phases to develop the physical database.

The Best ER Diagram Tool for Mac Users

Are you a data modeler who uses Mac OS? Read on and find out the best ERD tool for Mac. Data modeling is an essential part of your database development project. Choosing the best ER diagram tool for your project is critical. If you proceed without a proper data model, your database project may fail. You may want to read more about why you need data modeling. There are hundreds of tools available as online ER diagram tools, desktop ERD tools, or both.

What's the Best ER Diagram Tool for Windows?

Our picks for the top 10 Windows database modeling and ER diagramming tools. The Windows operating system is one of the world’s most popular. So what are the ten best ERD tools for Windows, and why do we need them? With the diversification of operating systems, very few data modeling software are exclusive to Windows; many are implemented in the (cross-platform) Java programming language or as online tools. But as many people use Windows, it’s good to know which tools work well in a Windows environment.

What Is a Database Modeling Tool?

Why are database modeling tools so important? What data modeling features should you look for? Get the answers here. A database modeling tool helps users capture and explain a domain – i.e. the entities, attributes, relationships between entities, and any rules that apply to the entities and attributes.  That, of course, is the most basic feature. Most data modeling tools provide many more features. Imagine that you’ve joined a project where the database design process has just begun.

Online or Desktop Er Diagram Tool

Online or desktop ERD tool – are you puzzled about which one to choose? Read on to understand which one is best suited for your organization. ER diagrams (ERDs, or entity relationship diagrams) are crucial in database projects, so choosing the right ERD tool is vital. Building a database system without an ER diagram is like building a skyscraper without a foundation. ER diagram tools are some of the most important among all the tools used in a database project.

What’s the Best ER Diagram Tool for PostgreSQL?

Data modeling for PostgreSQL is no longer a challenge. Read on and learn about the best tool for PostgreSQL ER diagrams. PostgreSQL, a.k.a. Postgres, is a free and open-source relational database management system (RDBMS). It has become popular for database development among major organizations such as Instagram, Skype, and Netflix. Since the ERD (Entity Relationship Diagram) is an essential tool in data modeling, it’s worth the effort to find the perfect ERD tools that support Postgres.

Database Tools You Need to Work Effectively

Think of them as your sidekicks to deal with the challenges you encounter every day in working with databases. Good database tools come to the rescue in all stages of the database lifecycle: from the conceptual design, through logical/physical design, all the way to maintenance, refactoring, and optimization. Every database professional, be it an architect, engineer, designer, programmer, tester, or administrator, has a preferred set of tools. Some tools are specific to the database system (RDBMS), such as MySQL, Oracle, SQL Server, or PostgreSQL, while others work with virtually any database engine.

8 Advantages of an Online ER Diagram Tool

ER diagram tools are a key component in software development. Whether you are designing a new system or feature from scratch or analyzing and applying changes to an existing solution, you need an ERD modeling program. Using an online ERD diagram tool allows you to start working immediately, without worrying about installation and setup. Plus, online ERD tools enable quick collaboration and easy access to your data models. You may have heard the phrase “a picture is worth a thousand words”.

The Best ER Diagram Tools in 2021

The top 10 tools you can use to build your entity-relationship models in 2021! There are several relational modeling tools. A simple Google search yields dozens of options for all kinds of purposes. But the question remains: what is the best tool for professional use or in teams? Which tool will give me access to all the features I need without having to switch between multiple tools? There are some resources to help you answer this question like this article, but we can look at more.

What’s the Best ER Diagram Tool for SQL Server?

Are you working on an SQL Server database project? Read this article to learn about the perfect SQL Server ER diagram tool. SQL Server is a Relational Database Management System (RDBMS) developed by Microsoft Corporation. It allows database developers to build desktop and web-based database applications. In addition, many IT professionals (including Database Architects, Software Engineers, CTOs, etc.) and semi-professionals (including university students) use SQL Server modeling tools. So, let’s learn about the best SQL Server ERD tools and their features.

Top 7 Useful Online Database Tools

Let’s discuss some useful tools for designing and developing your database hassle free while saving you money and time. In the modern software world, database systems play an important role. Most businesses depend on various database systems. Database architects and software engineers design and develop various types of database systems to manage the business. Online database tools have become very well known among database specialists and software engineers for their advantages.

How to Align Elements in Vertabelo

An ER diagram that’s not easy to read isn’t much help. Learn how to align ERD elements – and better organize your diagram – in Vertabelo’s online data modeler. Designing great ER models is not just about creating the right tables, defining the correct data types, and adding references. To make the model readable and easy to understand, you should arrange it neatly. This is where the alignment and distribution of the different ER diagram elements (tables, reference lines, notes, subject areas, etc.

How to Import an Existing Database into Vertabelo

Find out how to easily import an existing database into the Vertabelo data modeler. If you're reading this article, you probably know you need to import your database into Vertabelo. Or maybe you’re wondering if you should do it. Here are some reasons that can convince you if you’re hesitating. And we’ll also explain how to import a database into Vertabelo. Why Import an Existing Database into Vertabelo? 1. You'd like to analyze the database structure.

What's the Best MySQL ER Diagram Tool?

Still spending hours of manual work on MySQL data modeling? Discover the best MySQL modeling tools that save you time and money! The ER diagram (or entity-relationship diagram) has become an extremely popular data modeling concept among data architects, database administrators, and DB developers. And MySQL is one of the most popular database management systems (DBMS), especially for web applications. Thus, many ER diagram tools that support MySQL (aka MySQL ERD tools) have arrived in the market during the last decade.

Database Design With Vertabelo

Database design goes way beyond just drawing lines and boxes. In this article, I reflect on the process of data modeling with an emphasis on best practices, as well as on how to use tools to implement those best practices to create a good database design. Database design is the process of producing a detailed model of a database. The start of database modeling involves getting a grasp on the business area and the functionality being developed.

What to Look for in Your ER Diagram Tool

Do you find it challenging to choose the perfect ER diagram tool to save time and cost for your next database project? Unsure which features are the most important to include in your evaluation criteria? Read this article! The entity relationship diagram, or ER diagram, has been an industry standard used in database modeling among database architects for many years. An ER diagram is a graphical way of presenting a proposed database schema (tables, references, views, etc.

What Is an ER Diagram?

If a picture is worth a thousand words, then entity-relationship diagrams (or ER diagrams) are a priceless way to visually explain the structure and behavior of a software solution. Learn how to make your own ERDs with the Vertabelo online data modeler! The term entity-relationship diagram and its abbreviations ER diagram and ERD are frequently used when designing and implementing databases. What are these entities and relationships we’re diagramming?

Getting Started with ER Diagrams in Vertabelo

Learn how to use Vertabelo’s user-friendly data modeling platform to create your first Entity-Relationship (ER) diagram! If you’ve never used an online ER diagram tool before, you might be a bit lost about where to start. Don't worry; I’ll give you a step-by-step guide to getting started with Vertabelo and creating some basic ERDs (Entity Relationship Diagrams). Vertabelo is an online ER diagramming tool that helps design and visualize databases.

Why Do You Need an ER Diagram?

Curious about why we model data with an entity-relationship diagram (ERD)? You've come to the right place. An entity-relationship diagram, or ER diagram, is essential for modeling the data stored in a database. It is the basic design upon which a database is built. ER diagrams specify what data we will store: the entities and their attributes. They also show how entities relate to other entities. Another advantage of ERDs is that they represent the data in a graphical manner.

What Are Conceptual, Logical, and Physical Data Models?

Depending on the purpose, we may need to create either a conceptual, logical, or physical data model. Find out the differences and use cases for each one. Data modeling implies identifying and defining entities and their relationships for a business solution. It requires a good understanding of the desired business outcome and is the foundation for creating a robust software solution. The different model types (conceptual, logical, and physical) have different levels of detail and are used at different stages of the software development process.

5 Examples of Conceptual Data Models

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.

Top 7 Entity Relationship (ER) Diagram Online Tools

Are you searching for the best online ER diagram tool? Read on and discover our top picks. Data modeling is one of the most critical parts of a software project. Database architects use ER diagrams (also called ERDs or Entity Relationship Diagrams) as a data modeling technique. Many ER diagram tools are available, but choosing the best tool for your project can be hard. Still, your data model is a key factor in the success of your entire project; it’s important to get it right.

2020 Was Vertabelo Database Modeler’s Year. It’ll Get Even Better in 2021.

2020 is coming to an end. It's been a busy year for us, so let's summarize what we did at Vertabelo. I will also show you how the Vertabelo database modeler will evolve in 2021. This is already a great tool, but it will be even better. See what we plan to do. I am not exaggerating when I say that we had our hands full in 2020. In addition to constantly improving the Vertabelo database modeler and creating new Vertabelo Academy courses, we have launched completely new platforms for learning SQL and Python.

How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo

This article will lead you through the differences between the conceptual, logical, and physical data models. It will also show you how to create each one.  What are conceptual, logical, and physical data models? What do they do, and what are the differences between them? That’s what I’ll answer in this article. It won’t be only theory; I’ll also show you how to create different data models using Vertabelo.

How to Draw an ER Diagram Online

In this article, I will be listing some of the top tools for drawing ER diagrams online. Priority will be given to ease of use, user experience, and functionality. An entity relationship diagram, or ER Diagram (ERD), is a visual model of your database schema. It describes the database structure and helps conceptualize how pieces of data interact with one another across a robust database. To some extent, ER diagrams look like flowcharts; they show the database tables as rectangles, with connecting lines representing the relationships between tables through primary and foreign keys.

Vertabelo vs. Navicat Data Modeler

In this article, I’ll make a comparison of two popular database modelers: Vertabelo in version 1.21.0 and Navicat Data Modeler in version 1.0.12. Features are listed in the left-hand column and each tool’s feature support is identified under the appropriate heading. Vertabelo Navicat Data Modeler Online tool works under Chrome OS independent Standalone version available for: Linux Mac OS X Windows Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server (Windows and Mac OS X editions only) Oracle SQLite SQL Azure (Windows and Mac OS X editions only) Supported data types Vertabelo supports a particular database from creation.

Comparison of Web-Based Tools for Data Modeling

In this article, I will compare two online database modelers: Vertabelo and Sea Quail Database Diagram Tool. Here is a matrix of each tool’s key features and functionality. Compared versions: Vertabelo 1.14.3, Sea Quail v.32. Vertabelo Sea Quail Model structure Tables References Sequences Views Text Notes Indexes Checks Additional SQL scripts Supported database engines PostgreSQL MySQL MS SQL Server Oracle SQLite HSQLDB IBM DB2 PostgreSQL MySQL MS SQL Server Supported data types Vertabelo supports particular database from the begining.

Five reasons why we built Vertabelo

We are launching a new product on a market, so let me tell you the short story about how and why Vertabelo was born. e-point and I personally have more than fifteen years of experience in building business applications. All of them use relational databases as a storage for their data. Most of those applications are rather big - think about hundreds of tables in a database and hundreds of screens in a UI.

Tag: The Power of ERD Diagrams in Database Design: A Step-by-Step Guide for Beginners

The Power of ERD Diagrams in Database Design: A Step-by-Step Guide for Beginners

What is an entity-relationship diagram? How are they used in database design? And how can you build your own ERDs? Read on to find out. In this article, we will dive into the importance of entity-relationship diagrams (ERDs), why they are essential in database design, and how they enable data organization based on specific relationships. ERDs empower users to extract meaningful insights, establish connections, and generate structural overviews from large datasets.

ER Diagram for a Movie Database

A step-by-step guide on how to design an ER diagram for a movie database and model the relationships between actors, movies, and studios. An entity-relationship diagram (ER diagram or ERD) is a visual representation of a database that displays the relationships between entities. In this article, we’ll guide you through the process of designing an ER diagram for a movie database, using a case study to illustrate the concepts. We’ll cover the basics of data modeling and ER diagrams and show you how to model the relationships between actors, movies, and studios in a clear and efficient way.

What Is a Weak Entity and How Do I Denote It in an ER Diagram?

Although its name could suggest otherwise, a weak entity can be very useful for properly modeling a database. In this article, we’ll study examples of weak entities and learn how to use them to improve your data modeling skills. If you are about to design a data model, you probably already know what entities are and how they are represented in a diagram. If not, you can read about entities in Vertabelo’s logical model documentation.

What Does Cardinality Mean in a Database?

Cardinality in an SQL database isn’t just a number representing rows in a table. It also has an impact on query performance. Learn how database cardinality works in this article. Cardinality is a term that originates from mathematics – more specifically, from relational algebra. But the term isn’t limited to the mathematical field; it also has implications in the world of databases. In this article, we will do a dive deep into this topic and explain cardinality in SQL databases and how it impacts your queries.

How to Add References to ER Diagrams in Vertabelo

Adding references to your data model is essential to maintaining clarity. A Quick and Easy Introduction to Entity Relationships In data modeling, defining relationships between tables/entities entails using a certain notation to indicate the cardinality between them. This applies to both logical and physical data models. Cardinality refers to how many instances of one entity are related to the other entity. For example, a database that keeps track of orders on an e-commerce website likely has customer and order entities.

8 Things to Consider When Creating a Physical Data Model

Designing a clear physical data model can be challenging – especially when you don’t stop to consider these eight critical areas. Get our expert tips on creating a better physical model. A physical model is the technical implementation of a logical data model. It has a higher level of detail and is specifically created for a particular database vendor, taking into account that database management system’s technical features and restrictions.

What Is Cardinality in Data Modeling? The Theory and Practice of Database Cardinality

What is cardinality in data modeling? And how do you implement cardinality in databases? This discussion uses simple, easy-to-follow examples to describe both the theory and modeling of cardinality in ER diagrams. Cardinality is a mathematical term. It translates into the number of elements in a set. In databases, cardinality refers to the relationships between the data in two database tables. Cardinality defines how many instances of one entity are related to instances of another entity.

How to Create Physical Diagrams in Vertabelo

So you don't like writing all of your SQL CREATEs by hand? Design your database with Vertabelo and let it generate the SQL file for you! As you may already know, there are three different levels of data models: conceptual, logical, and physical data models. The conceptual model is the most abstract, while the logical model has a few more technical details. The physical data model defines all the details needed for a specific database: column data types, primary and foreign keys, constraints, indexes, sequences, views, and other physical objects.

What Are the Symbols Used in an ER Diagram?

Find out what symbols are used in the Entity-Relationship Diagram (ERD) and what they mean. The most popular notation in ER diagrams is the Information Engineering (IE) notation, also called crow’s foot notation. This is the default ER diagram notation used in Vertabelo. There are a few standard symbols used in logical and physical ER diagrams, and some useful additional non-standard symbols that you can use in Vertabelo. We’ll discuss them in this article.

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

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.

UML Notation

UML is popular for its notations. We all know that UML is for visualizing, specifying, and documenting the components of software and non software systems. What’s more, UML has many types of diagrams which are divided into two categories. Some types represent structural information, others general types of behaviors. Among these, there is one that is commonly used for entity relationship diagrams. In UML, an entity is represented by a rectangle:

Arrow Notation

Arrow notation has become one of the less recognized notations in entity relationships diagrams in recent years. Let’s discuss its elements. Entity and relationships As you can see below, an entity is always represented by a rectangle, which is common to most notations (there isn’t a distinction if it is dependent or independent entity). Relationships and cardinality are represented by various combinations of arrows as the diagram below presents.

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Chen Notation

Continuing our trip through different ERD notations, let’s review the Chen ERD notation. Peter Chen, who developed entity-relationship modeling and published his work in 1976, was one of the pioneers of using the entity relationship concepts in software and information system modeling and design. The Chen ERD notation is still used and is considered to present a more detailed way of representing entities and relationships. Entities An entity is represented by a rectangle which contains the entity’s name.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

ERD Notations in Data Modeling

An entity relationship diagram (ERD) is a diagram that defines the structure of database instances. Choosing which notation to use is typically left up to personal preference or conventions. Here, you can find some useful information about each notation: Part 1 – Barker’s Notation Part 2 – Chen Notation Part 3 – IDEF1X Notation Part 4 – Arrow Notation Part 5 – UML Notation Part 6 – Crow’s Foot Notation Which ERD notation are you using?

Tag: Erd diagram tool

How to Generate a SQL Script in Vertabelo?

Find out how to generate a SQL DDL script using Vertabelo and what this script does. You probably already know what ER diagrams are. If you're not sure, you can find out here. You can create ERDs easily in Vertabelo. But did you know that Vertabelo can also generate a SQL DDL script from your physical ER diagram? Of course,  you first need to create a physical diagram. Once your ER diagram is ready, you can create a DDL (Data Definition Language) script.

What to Look for in Your ER Diagram Tool

Do you find it challenging to choose the perfect ER diagram tool to save time and cost for your next database project? Unsure which features are the most important to include in your evaluation criteria? Read this article! The entity relationship diagram, or ER diagram, has been an industry standard used in database modeling among database architects for many years. An ER diagram is a graphical way of presenting a proposed database schema (tables, references, views, etc.

What Is an ER Diagram?

If a picture is worth a thousand words, then entity-relationship diagrams (or ER diagrams) are a priceless way to visually explain the structure and behavior of a software solution. Learn how to make your own ERDs with the Vertabelo online data modeler! The term entity-relationship diagram and its abbreviations ER diagram and ERD are frequently used when designing and implementing databases. What are these entities and relationships we’re diagramming?

Getting Started with ER Diagrams in Vertabelo

Learn how to use Vertabelo’s user-friendly data modeling platform to create your first Entity-Relationship (ER) diagram! If you’ve never used an online ER diagram tool before, you might be a bit lost about where to start. Don't worry; I’ll give you a step-by-step guide to getting started with Vertabelo and creating some basic ERDs (Entity Relationship Diagrams). Vertabelo is an online ER diagramming tool that helps design and visualize databases.

Why Do You Need an ER Diagram?

Curious about why we model data with an entity-relationship diagram (ERD)? You've come to the right place. An entity-relationship diagram, or ER diagram, is essential for modeling the data stored in a database. It is the basic design upon which a database is built. ER diagrams specify what data we will store: the entities and their attributes. They also show how entities relate to other entities. Another advantage of ERDs is that they represent the data in a graphical manner.

How to Draw an ER Diagram Online

In this article, I will be listing some of the top tools for drawing ER diagrams online. Priority will be given to ease of use, user experience, and functionality. An entity relationship diagram, or ER Diagram (ERD), is a visual model of your database schema. It describes the database structure and helps conceptualize how pieces of data interact with one another across a robust database. To some extent, ER diagrams look like flowcharts; they show the database tables as rectangles, with connecting lines representing the relationships between tables through primary and foreign keys.

Tag: Erd notation

How to Change the Diagram Notation Used in Vertabelo

Learn how to change ER diagram notation in the Vertabelo database modeler. Vertabelo supports many different ER diagram notations. The default notation (and the most popular) is the Information Engineering (IE) notation, which you may know as crow’s foot notation. Vertabelo also supports UML and IDEF1X notation for logical diagrams, and UML, IDEF1X and Barker’s notation for physical diagrams. In this article, you'll see how to change your ERD notation in the Vertabelo modeler.

What a Concept! Is Logical Data Modeling Obsolete?

When databases were sized in megabytes rather than petabytes, their design was a well-defined discipline of data analysis and implementation. A progression of modeling steps – from conceptual and logical through relational and/or physical – promised successful deployment. But as we passed more orders of magnitude in data volume, we seemed to stop seeking modeling approaches to manage that volume. So the question arises: Is logical data modeling obsolete?

Crow’s Foot Notation

The most recognizable characteristic of crow’s foot notation (also known as IE notation) is that it uses graphical symbols to indicate the ‘many’ side of the relationship. The three-pronged ‘many’ symbol is also how this widely-used notation style got its name. Let’s see where crow’s foot is placed in the history of data modeling and take a look at its symbols. History: How Crow’s Foot Notation Got Started The beginning of crow’s foot notation dates back to an article by Gordon Everest (1976, Fifth Computing Conference, IEEE).

Crow’s Foot Notation in Vertabelo

Various ERD notations follow different styles for entities, relationships, and attributes. Usually there isn’t much standardization between them, so notations bear little resemblance to each other. Among the plethora of ERD diagram notations, crow’s foot notation is definitely the most used. In this article, we’ll investigate its components within the Vertabelo database model. Before we start looking into crow’s foot notation, we must understand that there are various levels of Entity-Relationship diagrams: conceptual data model – an overview of what should be included in the general database model.

UML Notation

UML is popular for its notations. We all know that UML is for visualizing, specifying, and documenting the components of software and non software systems. What’s more, UML has many types of diagrams which are divided into two categories. Some types represent structural information, others general types of behaviors. Among these, there is one that is commonly used for entity relationship diagrams. In UML, an entity is represented by a rectangle:

Arrow Notation

Arrow notation has become one of the less recognized notations in entity relationships diagrams in recent years. Let’s discuss its elements. Entity and relationships As you can see below, an entity is always represented by a rectangle, which is common to most notations (there isn’t a distinction if it is dependent or independent entity). Relationships and cardinality are represented by various combinations of arrows as the diagram below presents.

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Chen Notation

Continuing our trip through different ERD notations, let’s review the Chen ERD notation. Peter Chen, who developed entity-relationship modeling and published his work in 1976, was one of the pioneers of using the entity relationship concepts in software and information system modeling and design. The Chen ERD notation is still used and is considered to present a more detailed way of representing entities and relationships. Entities An entity is represented by a rectangle which contains the entity’s name.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

ERD Notations in Data Modeling

An entity relationship diagram (ERD) is a diagram that defines the structure of database instances. Choosing which notation to use is typically left up to personal preference or conventions. Here, you can find some useful information about each notation: Part 1 – Barker’s Notation Part 2 – Chen Notation Part 3 – IDEF1X Notation Part 4 – Arrow Notation Part 5 – UML Notation Part 6 – Crow’s Foot Notation Which ERD notation are you using?

Tag: Etl

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

Tag: Example data model

7 Useful Database Diagram Examples

Don’t suffer from blank sheet syndrome when you have to create a new data model. Explore the ready-to-use database model examples we offer here and you will surely find the inspiration you need to kickstart your design. When you have to create a data model to solve a need common to many businesses, it is almost certain that many designers have done it before. You can learn from what they have done so that you don’t have to reinvent the wheel.

A Database Design for User Profiles

Almost all applications allow users to log in and create a customized profile. So when you build an application, you should spend some time thinking about where to store the data and how to design the user profile database. In this article, we’ll design an efficient database model for user profiles. In this article, we’ll take you step-by-step through a database model for storing user profile data. We’ll start with the thought process and lead you from formalizing the idea to the final data model.

What Is the Best Design for an Address Database Model?

Find out how to build an address data model for different business needs. Address modeling in a database can be tricky: what's the best way to split the data (street, city, state, etc.)? Is normalization more critical than performance? What ERD and data modeling tools do I use?  When should I use domain acronyms and values ? Will the address structure meet all the business needs? Are these decisions the best for the project?

5 Examples of Conceptual Data Models

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 Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

A Public Opinion Agency Data Model

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.

Track Signals with a Signal Processing Data Model

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.

A Library Data Model

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!

A Database Model for a Hotel Reservation Booking App and Channel Manager

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.

A Data Model for Online Concert Ticket Sales

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.

Designing a Database for a Recruitment System

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.

A SaaS Subscription Data Model

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.

The Important Dates Data Model

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.

A Data Model for an Online Musical Equipment Shop

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.

A Data Model for a Wine Store

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.

A Peer-to-Peer Lending Platform Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

A Data Model for a Freelancers Collective

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.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

A Grocery Delivery Data Model

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.

A Data Model for Map- and Turn-Based Games

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.

Tap and Park: A Parking App Data Model

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.

A Children’s Party Data Model

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.

A Restaurant Delivery Data Model

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.

A Dating App Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Wedding Organization Data Model

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 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.

Modeling an Open Marketplace for Education

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.

A Mail Delivery Company Data Model

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 😊.

A County Club Data Model

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.

Data Model Design: A Mobile App Marketplace for Local Services

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.

A Pet Care Data Model

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.

A Google Analytics Data Model

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!

A Data Model for a Leasing Office

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.

A Data Model for Collectors

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.

A Sports School Data Model

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!

A Song of Ice and Databases: A Game of Thrones Data Model

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.

An Online Auction Data Model

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.

A Marketing Agency Data Model

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.

Part 4 – How to Use It

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.

Clinic Management System Data Model

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.

Build Your Own City: An Open-Ended Building Game Data Model

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.

A Language School Database Model

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.

Inside A Shopping Center Data Model

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.

Summer Is Here: A Travel Agency Data Model

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.

A Smart Way to Build Skills – An E-Learning Portal Data Model

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.

Coping with the 4Ds of Life: A Self-Storage Data Model

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.

Offers, Deals, and Discounts: A Product Pricing Data Model

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.

The Book of All Knowledge: An Online Encyclopedia Data Model

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.

A Data Model to Track Tennis Tournaments

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.

A Data Model for an Electric Power Production System

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.

A Crowdfunding Platform Data Model

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.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

Designing an Online Classifieds Data Model

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.

A Data Model for an Electric Power Distribution System

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.

A Database Model for a Renting Service

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.

An Antique Store Data Model

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

A Process Management Data Model

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!

Improving Our Online Job Portal Data Model

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.

A Transport Hub Database Model

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.

A Database Model for Gallery or Museum Management

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.

A Project Management Data Model

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!

A Database Model for Action Games

In previous articles, we’ve discussed data model that could run card games, board games and even MMO games. 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.

A Database Model for a Freelance Job Platform

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.

Designing a Database for an Online Job Portal

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.

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Again and Again! Managing Recurring Events In a Data Model

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.

A Data Model for Listing Apartments and Other Rental Units

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

A Database Model to Manage Appointments and Organize Schedules

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.

Party Relationship Pattern. How to Model Relationships

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.

What Information Does An EU Invoice Need?

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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 Simple Online Store Model: Sell, Ship, and Get Paid

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.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

A Database Model for Simple Board Games

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.

Viewing Holidays With Data Modeler’s Eyes

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.

Creating a Data Model for Carpooling

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.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Creating Tables for Products and Services

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.

Database Model for a Messaging System

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.

Modeling a Database for Recording Sales. Part 1

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.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

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.

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.

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.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

How to Store Employees’ Schedules in a Database

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:

How to Model Inheritance in a Relational Database

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.

Database Design 101: Database Model for an Online Store

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.

Tag: Example er diagram

An ER Diagram for a Billing System

Unveiling the database design of a comprehensive billing system model. A billing system is an intricate design that allows for the tracking of goods and services, the generation of invoices, and the processing of payments. It acts as the foundation for financial transactions in a variety of industries, ensuring that firms can manage their revenue streams efficiently and keep accurate financial records. In this article, we’ll discuss how to build an ER diagram for a billing system.

How to Design an ER Diagram for an Invoice Management System

Do you need to create an ER diagram for an invoice management system? Maybe you’re just curious about how the process would work. We are here to help. So, let's get started on creating the model for your invoice management database. To begin, we will create an entity-relationship diagram (ER diagram or ERD), which is a model of the database that represents the information to be stored by the invoice management system.

How Do You Design an ER Diagram for an Employee Database?

Do you need to create an entity-relationship model for an employee database? Or are you looking for a database design for an employee management system? Maybe you’re just curious about how the process would work. You've come to the right place. In this article, we’ll explain how to develop ER diagrams for an employee database. We’ll start with the logical model and move to the physical model (which is designed for a specific database management system (DBMS), such as Oracle, MySQL, etc.

Data Model for a Hotel Management System

Putting hospitality into visual form with a hotel management system ER diagram. Consider a busy hotel with efficient check-in and check-out procedures, careful management of room reservations, and many room assignments. Behind the scenes of this orchestrated harmony, a complex database diagram meticulously guides the delicate interaction of guest data, room availability, and financial transactions. This article delves into the entity-relationship diagram (ER diagram or ERD) for a hotel management system, methodically revealing the countless mechanisms that underpin this operational symphony.

How to Create a Data Model for a Data Warehouse

When faced with the task of creating a warehouse data model, you must understand that the ultimate goal is to create a strategic business tool – not just a simple database. Keep this in mind and read on to find out how to build a successful model for a data warehouse. A data model for a data warehouse (DW) is a conceptual representation of the structure and relationships between the data elements that make up the DW.

Creating a Database Model for an Inventory Management System

In this article, we’ll use the Vertabelo online data modeler to design a data model for an inventory management system. Do you need to create and implement a database for an inventory management system? In this article, we’ll walk you through a generic inventory management system database model. No two  organizations are the same; they all have their unique requirements and needs. So, this database design may require adjustments or modifications based on your own organization requirements, preferred inventory counting method, and your local legal or industry regulations.

Creating a Database Design for a Banking System

This article will guide you through the necessary steps to create a database model for a banking system. We’ll use the Vertabelo online data modeler to define all the required entities and the relationships between them. Bank legislation varies from country to country, and not all banks offer the same products and services. In this article, we’re going to create a generic ER diagram for a banking system. This database design may require adjustments or modifications based on your own requirements and your local legal and industry regulations.

ER Diagram for a Hospital Management System

Read this article to find out how to create an ER diagram for hospital management systems. Commonly, we start the database creation process by designing a logical database diagram. This diagram is a visual representation of the entities in a system and the relationships between them. Later in the process, the logical diagram is transformed into a physical database diagram that incorporates database-specific details. In this article, we’ll walk you through building an entity-relationship diagram (ER diagram or ERD) for a hospital management system.

ER Diagram for a University Database

In this article, we’re going to demonstrate how to create an entity-relationship diagram (ERD or ER diagram) for a university database. We’ll  design it from scratch using the Vertabelo web-based data modeler. To make our university database ER diagram simpler to understand, we have divided the data model into three main areas: Career Planning, where we define each career with its required courses and the professors that teach those courses.

7 Useful Database Diagram Examples

Don’t suffer from blank sheet syndrome when you have to create a new data model. Explore the ready-to-use database model examples we offer here and you will surely find the inspiration you need to kickstart your design. When you have to create a data model to solve a need common to many businesses, it is almost certain that many designers have done it before. You can learn from what they have done so that you don’t have to reinvent the wheel.

Where to Find Database Diagram Examples

This article discusses various sources of database model examples you can use as a starting point for your data models. Having a variety of database diagram examples on hand is very useful. This is true whether you are starting your career in database design or consider yourself a seasoned database professional. It is a good idea to use existing database model examples as a starting point, rather than to try to reinvent the wheel.

Integrated Transport Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

A Public Opinion Agency Data Model

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.

Track Signals with a Signal Processing Data Model

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.

A Library Data Model

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!

A Database Model for a Hotel Reservation Booking App and Channel Manager

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.

A Data Model for Online Concert Ticket Sales

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.

Designing a Database for a Recruitment System

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.

A SaaS Subscription Data Model

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.

The Important Dates Data Model

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.

A Data Model for an Online Musical Equipment Shop

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.

A Data Model for a Wine Store

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.

A Peer-to-Peer Lending Platform Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

A Data Model for a Freelancers Collective

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.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

A Grocery Delivery Data Model

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.

A Data Model for Map- and Turn-Based Games

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.

Tap and Park: A Parking App Data Model

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.

A Children’s Party Data Model

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.

A Restaurant Delivery Data Model

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.

A Dating App Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Wedding Organization Data Model

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 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.

Modeling an Open Marketplace for Education

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.

A Mail Delivery Company Data Model

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 😊.

A County Club Data Model

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.

Data Model Design: A Mobile App Marketplace for Local Services

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.

A Pet Care Data Model

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.

A Google Analytics Data Model

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!

A Data Model for a Leasing Office

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.

A Data Model for Collectors

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.

A Sports School Data Model

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!

A Song of Ice and Databases: A Game of Thrones Data Model

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.

An Online Auction Data Model

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.

A Marketing Agency Data Model

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.

Part 4 – How to Use It

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.

Clinic Management System Data Model

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.

Build Your Own City: An Open-Ended Building Game Data Model

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.

A Language School Database Model

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.

Inside A Shopping Center Data Model

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.

Summer Is Here: A Travel Agency Data Model

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.

A Smart Way to Build Skills – An E-Learning Portal Data Model

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.

Coping with the 4Ds of Life: A Self-Storage Data Model

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.

Offers, Deals, and Discounts: A Product Pricing Data Model

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.

The Book of All Knowledge: An Online Encyclopedia Data Model

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.

A Data Model to Track Tennis Tournaments

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.

A Data Model for an Electric Power Production System

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.

A Crowdfunding Platform Data Model

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.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

Designing an Online Classifieds Data Model

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.

A Data Model for an Electric Power Distribution System

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.

A Database Model for a Renting Service

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.

An Antique Store Data Model

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

A Process Management Data Model

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!

Improving Our Online Job Portal Data Model

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.

A Transport Hub Database Model

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.

A Database Model for Gallery or Museum Management

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.

A Project Management Data Model

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!

A Database Model for Action Games

In previous articles, we’ve discussed data model that could run card games, board games and even MMO games. 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.

A Database Model for a Freelance Job Platform

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.

Designing a Database for an Online Job Portal

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.

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Again and Again! Managing Recurring Events In a Data Model

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.

A Data Model for Listing Apartments and Other Rental Units

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

A Database Model to Manage Appointments and Organize Schedules

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.

Party Relationship Pattern. How to Model Relationships

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.

What Information Does An EU Invoice Need?

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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 Simple Online Store Model: Sell, Ship, and Get Paid

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.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

A Database Model for Simple Board Games

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.

Viewing Holidays With Data Modeler’s Eyes

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.

Creating a Data Model for Carpooling

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.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Creating Tables for Products and Services

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.

Database Model for a Messaging System

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.

Modeling a Database for Recording Sales. Part 1

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.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

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.

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.

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.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

How to Store Employees’ Schedules in a Database

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:

How to Model Inheritance in a Relational Database

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.

Database Design 101: Database Model for an Online Store

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.

Tag: Example erd diagram

Integrated Transport Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

A Public Opinion Agency Data Model

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.

Track Signals with a Signal Processing Data Model

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.

A Library Data Model

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!

A Database Model for a Hotel Reservation Booking App and Channel Manager

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.

A Data Model for Online Concert Ticket Sales

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.

Designing a Database for a Recruitment System

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.

A SaaS Subscription Data Model

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.

The Important Dates Data Model

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.

A Data Model for an Online Musical Equipment Shop

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.

A Data Model for a Wine Store

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.

A Peer-to-Peer Lending Platform Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

A Data Model for a Freelancers Collective

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.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

A Grocery Delivery Data Model

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.

A Data Model for Map- and Turn-Based Games

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.

Tap and Park: A Parking App Data Model

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.

A Children’s Party Data Model

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.

A Restaurant Delivery Data Model

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.

A Dating App Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Wedding Organization Data Model

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 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.

Modeling an Open Marketplace for Education

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.

A Mail Delivery Company Data Model

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 😊.

A County Club Data Model

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.

Data Model Design: A Mobile App Marketplace for Local Services

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.

A Pet Care Data Model

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.

A Google Analytics Data Model

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!

A Data Model for a Leasing Office

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.

A Data Model for Collectors

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.

A Sports School Data Model

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!

A Song of Ice and Databases: A Game of Thrones Data Model

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.

An Online Auction Data Model

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.

A Marketing Agency Data Model

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.

Part 4 – How to Use It

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.

Clinic Management System Data Model

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.

Build Your Own City: An Open-Ended Building Game Data Model

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.

A Language School Database Model

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.

Inside A Shopping Center Data Model

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.

Summer Is Here: A Travel Agency Data Model

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.

A Smart Way to Build Skills – An E-Learning Portal Data Model

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.

Coping with the 4Ds of Life: A Self-Storage Data Model

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.

Offers, Deals, and Discounts: A Product Pricing Data Model

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.

The Book of All Knowledge: An Online Encyclopedia Data Model

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.

A Data Model to Track Tennis Tournaments

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.

A Data Model for an Electric Power Production System

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.

A Crowdfunding Platform Data Model

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.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

Designing an Online Classifieds Data Model

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.

A Data Model for an Electric Power Distribution System

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.

A Database Model for a Renting Service

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.

An Antique Store Data Model

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

A Process Management Data Model

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!

Improving Our Online Job Portal Data Model

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.

A Transport Hub Database Model

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.

A Database Model for Gallery or Museum Management

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.

A Project Management Data Model

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!

A Database Model for Action Games

In previous articles, we’ve discussed data model that could run card games, board games and even MMO games. 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.

A Database Model for a Freelance Job Platform

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.

Designing a Database for an Online Job Portal

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.

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Again and Again! Managing Recurring Events In a Data Model

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.

A Data Model for Listing Apartments and Other Rental Units

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

A Database Model to Manage Appointments and Organize Schedules

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.

Party Relationship Pattern. How to Model Relationships

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.

What Information Does An EU Invoice Need?

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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 Simple Online Store Model: Sell, Ship, and Get Paid

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.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

A Database Model for Simple Board Games

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.

Viewing Holidays With Data Modeler’s Eyes

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.

Creating a Data Model for Carpooling

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.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Creating Tables for Products and Services

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.

Database Model for a Messaging System

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.

Modeling a Database for Recording Sales. Part 1

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.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

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.

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.

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.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

How to Store Employees’ Schedules in a Database

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:

How to Model Inheritance in a Relational Database

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.

Database Design 101: Database Model for an Online Store

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.

Tag: Example er diagrams

Ecommerce Database Design: ER Diagram for Online Shopping

If you need an ER diagram for an online shopping system, look no further. In this article, you will get a complete database model for online shopping as well as a step-by-step guide to building it. We’ll also talk about some ideas to extend the model. An ER diagram is a blueprint for creating the foundations of any application that uses information stored in databases. Data modelers use the ER diagrams like architects use their drawing boards: on an empty canvas, they place the elements that make up the structure of what they are going to build.

Tag: Fact table

What Is the Star Schema Data Model? An Explanation with 3 Examples

In this article, we will talk about the star schema data model. When should you use this to structure your data? What are its advantages over other data schemas? We’ll answer these questions and more in this article. What Is a Star Schema? The star schema is a popular approach for designing data warehousing and business intelligence data models. It uses dimensional modeling; in other words, it utilizes dimension tables with descriptive attributes that provide context for the measures in the fact table.

What Are Facts and Dimensions in a Data Warehouse?

Facts and dimensions are the fundamental elements that define a data warehouse. They record relevant events of a subject or functional area (facts) and the characteristics that define them (dimensions). Data warehouses are data storage and retrieval systems (i.e., databases) specifically designed to support business intelligence (BI) and OLAP (online analytical processing) activities. They are different from databases designed to support transactional systems – e.g., e-commerce sites – whose function is primarily OLTP (online transactional processing).

Facts about Facts: Organizing Fact Tables in Data Warehouse Systems

The process of defining your data warehousing system (DWH) has started. You’ve outlined the relevant dimension tables, which tie to the business requirements. These tables define what we weigh, observe and scale. Now we need to define how we measure. Fact tables are where we store these measurements. They hold business data that can be aggregated across dimension combinations. But the fact is that fact tables are not so easily described – they have flavors of their own.

Tag: First normal form

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

What Is the Actual Definition of First Normal Form (1NF)?

The First Normal Form (1NF) is exceptional. The other normal forms (2NF, 3NF, BCNF) talk about functional dependencies and 1NF has nothing to do with functional dependencies. Moreover, we have precise definitions for other normal forms and there is no generally accepted definition of 1NF. Does 1NF Equate to “Atomic Attributes”? When you look at various descriptions of 1NF the word that you see most often is atomic. It is common to say that a relation is in 1NF if all its attributes are atomic.

Tag: Flask

Merging Multiple User Accounts

Social media surrounds us, so it’s not unusual for applications to require some kind of social media integration. The most common issigning in with Facebook, Twitter, or another service. Users expect to be able to log in with different social accounts. So, applications meet these expectations by offering external login options. Let’s take a look at this functionality and investigate how to merge users’ accounts – specifically, we’ll consider the situation when people use several methods to log in.

How to Store Authentication Data in a Database. Part 4

Handling user registration and authentication isn’t an easy task. Both users and developers understand this. Users have to select and remember another username and password (taking into account different password policies, of course). A developer’s responsibility is to make this process secure and to properly protect the user’s data. So it’s no surprise that logging in with one account – Facebook or Google, for example – is extremely popular.

Tag: On Functional Dependencies

How (And How Not) to Decompose Relations

When you read about normalization you usually get the set of conditions that a database in the nᵗʰ normal form should satisfy and the set of rules, a sort of a cook-book, for obtaining that normal form. But why these rules are safe to apply to your denormalized relations is a skip material. Here, I would like to present some elementary concepts on how we decompose relations and what can go wrong.

On Functional Dependencies

Do you remember the post about update anomalies? I promised you we’d explain how to design tables which have no update anomalies. So here we go! Today we begin a series of posts on data normalization. We will talk about functional dependencies, a concept that needs to be explained before we dive deeply into database schema normalization. The subject is rather abstract and theoretical but I will try to restrain myself from going too deep into mathematics.

Tag: Functional dependency

How To Find the Closure of a Set of Attributes (With Examples)

Do you know what a closure of a set of attributes is? Do you know how to find it? This knowledge is essential for database normalization. In this article, learn what a closure of a set of attributes is and how to find it with real-world examples. Finding the closure of a set of attributes is an important topic for relational databases. The closure of a set of attributes is taught in every university database class.

Tag: Galaxy schema

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

Tag: Git

How to Version Control Your Database with Vertabelo and Git

Find out how to keep track of data model changes in Vertabelo using Git as a source control management tool. In this article we will discuss a possible way to use source control management tools like GIT to track all changes in your Vertabelo data model. We are also going to detail the code-database workflow that we use daily to develop Vertabelo itself as well as our other applications.

Tag: Gradle

How I Use the Vertabelo API With Gradle

What is Gradle? Gradle is an open source build automation system. It can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else. Learn more about what makes Gradle a compelling choice for build automation. One of the exciting moments in a programmer’s life is to leave legacy code behind and have fun with some new, fresh and cool tools.

Tag: Hibernate

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.

How You Can Use Hibernate With a Database Modeling Tool

Before writing this article, I talked to a group of software engineers who use Hibernate on a daily basis in their work. Some of them work for small companies (up to 20 developers on site) while others are employed in corporations known world-wide that employ over 100,000 IT professionals. This gave me an insight into how development with Hibernate is organized in different companies. There are several approaches to creating SQL scripts and Hibernate O/R Mapping classes.

Tag: History

Theory and History: Why are Relational Databases “Relational”?

Many people wonder why relational databases are called “relational.” Some think that it’s because of a logical entity-relationship model you often start your design with. Or, because you have tables and relationships (aka foreign keys) between them. But that’s not the case. The name comes from the mathematical notion of “relation.” It all started with E. F. Codd who in 1970 (in the article A Relational Model of Data for Large Shared Data Banks) proposed something now called relational algebra as the mathematical foundation of databases.

Tag: Idef1x

IDEF1X Notation

IDEF1X (Integration DEFinition for Information Modeling) is a method for designing relational databases with a syntax that supports constructs in developing conceptual schema. Not everyone knows that this notation has an interesting history. Indeed, the need for semantic data models was first recognized by the U.S. Air Force in the mid-1970s. As a result, the ICAM Program came into being (It identified a need for better analysis and communication techniques for people involved in improving manufacturing productivity), that later developed a series of techniques known as the IDEF; IDEF1X being one of them.

Tag: Inheritance

How to Model Inheritance in a Database

Three ways to implement inheritance in a database using the Vertabelo data modeler. Inheritance is a common modeling technique used in modern software development. In data modeling, you can use inheritance in the logical model creation process. However, implementing inheritance in a physical database model is not straightforward; standard SQL does not provide inheritance statements for physical implementation. In this article, we will cover three basic strategies used to implement inheritance in a relational  database.

Tag: Java

How You Can Use Hibernate With a Database Modeling Tool

Before writing this article, I talked to a group of software engineers who use Hibernate on a daily basis in their work. Some of them work for small companies (up to 20 developers on site) while others are employed in corporations known world-wide that employ over 100,000 IT professionals. This gave me an insight into how development with Hibernate is organized in different companies. There are several approaches to creating SQL scripts and Hibernate O/R Mapping classes.

How I Use the Vertabelo API With Gradle

What is Gradle? Gradle is an open source build automation system. It can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else. Learn more about what makes Gradle a compelling choice for build automation. One of the exciting moments in a programmer’s life is to leave legacy code behind and have fun with some new, fresh and cool tools.

WordPress Database Finally Unveiled!!!

Sorry for that tabloid title, but I couldn’t resist. I’m going to show you how to view the database design of other people’s systems. It will work for legacy systems as well. Of course, you may call show tables and describe table in the database console but that’s a very rudimentary way to examine the structure. You’ll miss a bird’s eye view of the design which is crucial to understanding a system as a whole.

Tag: Job

How Much Does a Database Designer Earn?

If you have chosen to pursue a career as a database designer, I have good news for you. You can aim for a good salary. With time and experience, you may get an even better salary! Reports of the IT market for database designer jobs often vary in salary and growth prospects. But even the most pessimistic analysts agree on good to very good salaries and growth in demand. This makes the prospect for a database designer even better 5 years into the future.

Database-Related Jobs and the Differences Between Them

Find out who’s who in the database department and decide which role you most identify with. In small companies, there is usually only one database job. The person in that position may be an architect one day, a designer the next day, a programmer another day, an administrator the day after that, and sometimes even an analyst or even a data scientist. If you’re planning to work in a small company, you should get used to the idea that you’ll be known as “the database guy/gal” and you’ll have to do a little bit of everything.

Tag: Jobs and career

Top 21 Database Modeling Interview Questions for 2023

Applied for your dream job as a data modeler? You now need to get ready for the interview. We have a list of the most common data modeling questions, grouped into theoretical questions, basic technical questions, and advanced technical questions. Go to the interview well-prepared. The need for organizations to collect and interpret large volumes of information is constantly growing. Meeting this need requires well-designed data models for agile and efficient databases.

What is the Difference Between a Database Designer and Data Analyst?

Database designers work with data structures and data flows, while data analysts extract insights from huge amounts of data. Both careers have similarities and differences, and pros and cons. Read along to decide which one is the best fit for you. Do you like data, but find it hard to decide how you prefer to work with it? You have (at least) two paths to choose from: be the one who designs the structures to store and process the information, or be the one who analyzes large volumes of data in order to extract the truths hidden in them.

Tag: Keys

How to Automatically Generate Primary Key Values Using Vertabelo’s Auto-Generation Features

Learn how to set up automatically-generating primary key values in SQL, and then see how to use Vertabelo to apply auto-generation to popular database management systems. The primary key is a fundamental concept in relational databases. This article will discuss several ways to make an auto-generating primary key in SQL. We’ll also cover how to implement auto-generation in the Vertabelo data modeler. Understanding Primary Keys In relational databases,  a primary key constraint specifies that the value stored in that column must be unique across all records in the table.

What Is a Foreign Key?

What is a foreign key constraint? Why is it important in relational databases? Find out all about foreign keys in this article. A foreign key is a concept that is often used in relational databases. It is a way to create a link between two different tables. A foreign key is a field that refers to another table‘s primary key. Look at the example below: each player is a member of one team.

How to Define a Foreign Key in a Physical Model

A foreign key is one of the fundamental concepts of relational databases. You don’t store all your data in one table, but many different tables. Nonetheless, all your data is related. That’s where the foreign key comes into play. It facilitates the process of linking the tables. Read on to find out more. This article focuses on the concept of the foreign key in a physical model. First, we’ll briefly go over foreign key basics.

What Is a Primary Key?

Keys are one of the most vital features in a relational database. Among the many types of keys, the primary key is widely used and appreciated. Let’s find out what kinds of primary keys are available, what a primary key does, and how to use it in a table. In this article, you’ll learn all about primary keys in relational databases. The topics we’ll cover include: An overview of relational database keys.

What Is a Business or Natural Key?

A natural key is used to provide simple, easy-to-remember values (or set of values) that are meaningful to the business as an identifier for each row, rather than using business-agnostic, system-generated values as primary keys for database tables. Before getting into detail about what a natural key is, you might want to read the article “On Keys” to fully understand the concept of keys in a database model and their different types.

Tip #8 – Setting Your Own Names for Primary Key

Sometimes the naming convention you use requires a specific pattern for the primary keys’ names. That’s why you may want to set your own names for each primary key in your database model instead of using default ones. Go on reading to get to know how to do this in Vertabelo. To give your own name to a primary key, select the table that contains the primary key you want to name:

Tip #6 – How to Create a Multicolumn Primary Key

Primary keys may contain more than one column. Multicolumn primary keys are frequently used for junction tables, which are used to model many-to-many relationships. Select a table: In the Table properties panel on the right, check all the columns that you want inside the key: Now, you have a multicolumn primary key created: You can check out your SQL code by clicking the SQL preview button in the top right corner:

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

The Boyce-Codd Normal Form (BCNF)

Why do you need all of this normalization stuff? The main goal is to avoid redundancy in your data. Redundancy can lead to various anomalies when you modify your data. Every fact should be stored only once and you should know where to look for each fact. The normalization process brings order to your filing cabinet. You decide to conform to certain rules where each fact is stored. Nowadays the go-to normal forms are either the Boyce-Codd normal form (BCNF), which we will cover here today, or the third normal form (3NF), which will be covered later.

On Keys

Today we continue our series of posts on data normalization. In the previous post on data normalization I explained what functional dependency is. Today we will talk about candidate keys in a table. A candidate key is a set of columns such that all other columns in the table are dependent on it, and the set is minimal, that is if you remove a column, then the resulting set is not a candidate key.

Tag: Learn sql

Why Your Company Needs a Database Modeling Tool

Why do companies use data modeling tools? The short answer: To save costs, gain efficiency and stay competitive in their market. In this article, you’ll learn about all the benefits your company can reap by investing in a leading database modeling tool. Good database modelers need only one tool: their knowledge and ability to conceive data models that solve real-world problems. Eventually, they need to translate their designs into artefacts that help communicate ideas and concepts.

How to Store Login Data in a Database

Figuring out authentication is part of a secure data storage strategy. Find out how to store auth data safely in your database. Almost every application requires user authentication; that is why authentication data storage is a common feature of database and application design. Special attention is needed to ensure data is kept secure and to avoid breaches that can compromise sensitive information. Do I Need Authentication or Authorization? Although both words are frequently used in a similar way, they do not mean the same thing.

Tag: Logical data mode

How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo

This article will lead you through the differences between the conceptual, logical, and physical data models. It will also show you how to create each one.  What are conceptual, logical, and physical data models? What do they do, and what are the differences between them? That’s what I’ll answer in this article. It won’t be only theory; I’ll also show you how to create different data models using Vertabelo.

Tag: Logical data model

What Logical Models Data Types Are Available in Vertabelo?

Logical models define the initial blueprint of your database. Read along to learn how to create them and what attribute data types are available in Vertabelo. In this article, we’ll introduce the logical model. It essentially illustrates the structure of entities, attributes, and relationships in your database. Also, you’ll see the difference between logical and physical models. In the end, we’ll create a logical model in Vertabelo, which will include creating entities with attributes of specific data types.

What Are the Different Types of Data Models?

A data model determines the logical structure of a database. It helps you find possible design issues before implementing and deploying the database. However, there are different types of data models which are used for different things. That’s what we’ll discuss in this article. The first step you should do when creating a new database is to model it. There are some basic principles that should be followed in this case.

What Are Conceptual, Logical, and Physical Data Models?

Depending on the purpose, we may need to create either a conceptual, logical, or physical data model. Find out the differences and use cases for each one. Data modeling implies identifying and defining entities and their relationships for a business solution. It requires a good understanding of the desired business outcome and is the foundation for creating a robust software solution. The different model types (conceptual, logical, and physical) have different levels of detail and are used at different stages of the software development process.

Vertabelo Feature: Amazon Redshift Support in Vertabelo

Find out how to design an Amazon Redshift schema in Vertabelo. Thanks to increasing volumes of data, analytical databases like Amazon Redshift are gaining market. We introduced Redshift support at the end of 2019; in this article, we will explain how to design a Redshift data model using Vertabelo. How to Create a Model Let's start with the data model creation process. To create a Redshift schema, please: Log into Vertabelo and click on Create new document.

How to Generate a Physical Diagram from a Logical Diagram in Vertabelo

Have you finished preparing your logical data model in Vertabelo? Awesome! In this article, we'll show you how to generate the physical data model from the logical model in Vertabelo. It’s just a few clicks away. Ready? Let's dive into it. Quick Intro In this article, we'll deal with a slightly modified version of Microsoft's Northwind Database. We often use it in our LearnSQL courses, such as Customer Behavior Analysis in SQL.

Vertabelo Features: Logical Diagrams

Find out how to create logical data models in Vertabelo! If you have some experience with physical diagrams, this will be as easy as pie. There are three different levels of data models: conceptual, logical, and physical. Of these, the conceptual model is the most abstract, and the logical model has a few more technical details. The physical model has all the details of the physical database, such as data types (integer, decimal, money, varchar, etc.

What a Concept! Is Logical Data Modeling Obsolete?

When databases were sized in megabytes rather than petabytes, their design was a well-defined discipline of data analysis and implementation. A progression of modeling steps – from conceptual and logical through relational and/or physical – promised successful deployment. But as we passed more orders of magnitude in data volume, we seemed to stop seeking modeling approaches to manage that volume. So the question arises: Is logical data modeling obsolete?

Tag: Logical er diagram

Vertabelo Features: Logical Diagrams

Find out how to create logical data models in Vertabelo! If you have some experience with physical diagrams, this will be as easy as pie. There are three different levels of data models: conceptual, logical, and physical. Of these, the conceptual model is the most abstract, and the logical model has a few more technical details. The physical model has all the details of the physical database, such as data types (integer, decimal, money, varchar, etc.

What a Concept! Is Logical Data Modeling Obsolete?

When databases were sized in megabytes rather than petabytes, their design was a well-defined discipline of data analysis and implementation. A progression of modeling steps – from conceptual and logical through relational and/or physical – promised successful deployment. But as we passed more orders of magnitude in data volume, we seemed to stop seeking modeling approaches to manage that volume. So the question arises: Is logical data modeling obsolete?

Tag: What Is a Many-to-Many Relationship in a Database? An Explanation with Three Examples

What Is a Many-to-Many Relationship in a Database? An Explanation with Three Examples

What is a many-to-many relationship in database modeling? How do you implement this relationship in a database? The examples in this article will answer these questions. Many-to-many relationships are probably the trickiest relationships to show in a database. So, my first step in this article will be to explain what they are. Then I’ll move on to giving you several examples of many-to-many relationships, keeping them as close to real life as possible.

Tag: Materialized views

How to Model Snowflake Materialized Views in Vertabelo

Cloud technologies are becoming more and more popular. Recently, Vertabelo added support for the Snowflake database. An additional feature, much awaited by our users, was support for materialized views in Snowflake. We are happy to announce that you can now model materialized views in a Snowflake database using Vertabelo. What Is a Materialized View? Materialized views are different from simple views. While simple views allow us to save complicated queries for future use, materialized views store a copy of the query results.

Tag: Migration

What SQL Scripts Can Vertabelo Generate for You?

A starting point for keeping your database management hassle-free is a good database modeling tool. A good ER diagram is not only about a pretty picture; it can actually carry a lot of secondary data. For example, it may contain all necessary column constraints or additional SQL scripts to be run at a specified time. A good database modeling tool lets you create a physical ER diagram, oversees and validates your model (including your custom data types), and also lets you generate SQL scripts to set up your database or adjust it to the changes in the model.

Tag: Migration script

Tag: Migration Scripts

Hot: Vertabelo Now Features Migration Script Generation

The long-awaited generation of SQL migration scripts is now a part of Vertabelo! You can use these scripts to easily move from one database model version to another. Read this article to learn more. What are SQL Migration Scripts? An SQL migration script is a script that alters an existing database structure: it can add or drop a table, rename columns, or change column types. A migration script can change a given database from one schema version to another – hence its name.

Tag: Model

Party Relationship Pattern. How to Model Relationships

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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.

Identifying the Bill of Materials (BOM) Structure in Databases

The bill of materials (BOM) design pattern is deceptively simple, yet incredibly powerful. Historically, it’s been employed to model product structures, but the pattern can be used to do much more than simply define a hierarchy. This article will introduce three very different examples to help you to recognize the pattern in your own projects. What Is a Bill of Materials, or BOM? A bill of materials has its roots in manufacturing.

7 Key Things to Remember About Data Model Globalization

Very few database authors mention the challenges of globalization and localization in any meaningful way. There’s a similar lack of foresight from database architects. The fact is that many authors and designers are frequently very ‘self-centric’: they create (or write about) data models that only properly handle their local time zones, addresses, etc. A self-centric approach has a big problem: the resulting model will only support local data. In today’s Internet-fueled world, applications are often unexpectedly accessed by users around the globe.

What Do Poker, Blackjack, Belot and Préférence Have to Do with Databases?

How to design a database flexible enough to accommodate several very different card games. Recently, we showed how a database could be used to store board game results. Board games are fun, but they’re not the only online version of classic games going. Card games are also very popular. They introduce an element of luck into gameplay, and there is much more than luck involved in a good card game!

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

Database Design 101: Database Model for an Online Store

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.

How to embed a database diagram on the Internet

So I’m sitting here thinking to myself: How should I share a new Vertabelo feature with you? Should I write an over-hyped article full of industry jargon and marketing-speak? Hmmm. Tried and failed. I’ve just gotta show you the feature straight up and how simple it is to use. More meat, little fat, no fluff :). Well tah dah! Here it is: Go ahead, click on it. Use the mouse wheel to zoom.

Tag: Model design

A Peer-to-Peer Lending Platform Data Model

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.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

Tap and Park: A Parking App Data Model

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.

A Children’s Party Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Life Insurance 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.

Modeling an Open Marketplace for Education

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.

A County Club Data Model

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.

Data Model Design: A Mobile App Marketplace for Local Services

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.

Tag: Modeling

Top 10 Online Communities for Database Designers

Exploring online communities for database designers: navigating through the best forums and networks for professional growth and learning In the dynamic landscape of database design, the continuous evolution of knowledge and best practices is a journey, not a destination. For the database designer, this journey is punctuated by the rich interactions and exchanges found within various online communities. These digital forums, ranging from expansive generalist networks to specialized niches, are more than just repositories of information; they are vibrant ecosystems where ideas flourish and professional growth is nurtured.

Top 12 Database Design Principles in 2023

A well-designed data model must support database integrity, performance, scalability, and security. To achieve these qualities, pay attention to the top 12 database design principles explained in this guide. Database design principles are essential to creating efficient, reliable, and scalable databases. A database created following these fundamental design principles ensures that its data will be stored in it in an organized and structured manner. It will facilitate database administration and allow users to obtain accurate results.

Security Approaches in Data Modeling. Part 3

This is the third of our multi-part series on applying information security approaches to data modeling. The series uses a simple data model, something to manage social clubs and interest groups, to provide the content we look to secure. Later we will address modeling for authorization and user management, as well as other parts of a secure database implementation. In social situations, it’s common to “read between the lines” – deducing the unspoken assumptions and assertions in a conversation.

“Is It Secret? Is It Safe?” Handling Sensitive Data in Your Data Modeling

Early in the movie “The Fellowship of the Ring”, the wizard Gandalf asks the hero Frodo this question: “Is it secret? Is it safe?” We may not have a magic ring to protect, but we’re asking the same question. But we’re talking about information. This is the second in a multi-part series on how to apply information security principles and techniques as part of data modeling. This series uses a simple data model designed to manage non-commercial clubs as an example of security approaches.

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.

5 Steps for an Effective Database Model

Database design is the process of producing a detailed model of a database. This model contains the necessary logical (table names, column names) and physical (column datatypes, foreign keys) choices to translate the design into a data definition language (aka SQL), which can be used to create the actual physical database. When I need to create the design for a new database, in other words, the data layer for an application, I follow a few mental steps that I think can help others when they need to go through the same process.

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Tag: Ms sql server

Support for New Versions of PostgreSQL and MS SQL Server in Vertabelo

With the latest release of Vertabelo in 2021, we have overhauled the UI for a better experience in database modeling. We’ve also added a lot of new features requested by our customers. We’re happy to announce we now support the latest versions of PostgreSQL and MS SQL Server. You can now define partitions, specify data types for sequences, and add identity columns in PostgreSQL. Similarly, you can create DDLs for the latest versions of MS SQL Server.

Tag: Mysql

6 Best MySQL Database Design Tools

Are you trying to choose the best database design tool for your next MySQL project? It’s challenging to pick the right tool for your requirements. This article will guide you in choosing the best MySQL database design tool among the many options on the market. The designing phase is the most critical part of any software project – including database projects. A good database design is like a good building foundation; most project failures are due to the absence of a proper database design.

Top 10 Data Engineering Tools

Want to find out about the role of data engineers and data engineering? What are the top data engineering tools these professionals use? Read on to explore more. Data engineers create pipelines to facilitate an organization's data analytics by collecting, merging, and transforming data. They create an infrastructure for modern data analytics. Data engineers' work can be categorized into various sets of requirements that they must fulfill in building the pipeline.

Export SQL DDL From MySQL Workbench for Importing Into Vertabelo

Do you have an existing database model you would like to work with in Vertabelo? If so, you've come to the right place! In this article, you learn how to export a DDL file from MySQL Workbench and import it into our modeling tool. We also take a look at other ways to import an existing database schema into Vertabelo and organize existing tables. How to Export a DDL File From MySQL Workbench First, let's see how to export an existing database.

Constraints in MySQL and How to Model Them in Vertabelo

Before you do anything, you start with designing the database. It includes columns, tables, and relationships among them, as well as constraints. Database constraints play a crucial role in that they let you prevent any undesired data from being stored in a column or table. Let’s see how to make use of database constraints in MySQL. In this article, we’ll go through all database constraints available in a MySQL database:

The Proper Way to Handle Multiple Time Zones in MySQL

In this article, I’ll walk you through some fundamental considerations for working with date- and time-related data in MySQL. We’ll also look at how to handle multiple time zones and daylight saving time changes. Let’s first address some core concepts that will help us understand the underlying complexity of time-related data. It is important to notice that these concepts apply when representing a point in time rather than an absolute duration.

Database Modeling Tips

When you were learning database concepts, data modeling looked pretty easy, didn’t it? You knew all the rules, and modeling seemed like a game: get a challenge, do your best, and eventually solve it. Job well done! Moving up to the next level – and so on. As you continue, though, you’ll see that database modeling is also an art. Many cases require a totally new approach. Everything can be done ‘by the book’, but sometimes you get better results when you go less orthodox.

WordPress – Behind the Scenes, Part 2

In Part 1 of this series, I demonstrated how to install WordPress locally and how to import a WordPress database into Vertabelo. In this article, we’ll take a closer look at the tables in the WordPress database. A Quick Look at the WordPress Database Model and the Dashboard In the previous part, I imported the WordPress database into our online database modeling tool. For the record, the structure of the database is as follows:

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

Interesting Changes in MySQL 5.7

The General Availability version of MySQL is still version 5.6, but the development release of MySQL 5.7 definitely introduces some exciting changes to the world of database management systems. Is it worth giving a try? In this article, we’ll have a closer look at a few brand-new features that may help you decide to do so. Native JSON Support JSON (short for Java Script Object Notation) is a format for storing information which can be a good alternative to XML.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

Database engine usage by Vertabelo users

The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong. Vertabelo users come from over 100 countries and speak various languages. What unites them? The relational database. Let’s see what relational databases they use: We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

WordPress Database Finally Unveiled!!!

Sorry for that tabloid title, but I couldn’t resist. I’m going to show you how to view the database design of other people’s systems. It will work for legacy systems as well. Of course, you may call show tables and describe table in the database console but that’s a very rudimentary way to examine the structure. You’ll miss a bird’s eye view of the design which is crucial to understanding a system as a whole.

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Tag: Naming convention

Best Practices for Database Schema Name Conventions

Assigning names to objects in your database is not a trivial task. This list of best practices for naming conventions in data modeling will help you do it the right way. The task of designing a database schema is similar to that of creating the plans of a building. Both are carried out by making drawings in an abstract, theoretical framework. But they must be done with the understanding that these drawings will later become robust structures that support large constructions – in one case, constructions made of solid materials; in the other, constructions made of data.

The 11 Worst Database Naming Conventions I’ve Seen in Real Life

What – I can’t just let it be called Table_1? After decades of working with databases, I’ve come across all kinds of naming conventions in database modeling, with varying degrees of usefulness. Some conventions are a great help when working with a database. Others are just a big headache. When designing a data model, object names’ readability is an important consideration. A robot might not agree to this, as all names are equally easy for a robot to remember and to locate in a complicated SQL script.

Naming Conventions in Database Modeling

What’s In A Name? The Database Edition Database models require that objects be named. While several facets of naming an object deserve consideration, in this article we’ll focus on the most important one: defining a convention and sticking to it. Why Use Naming Conventions? Look at the database model below. I went a bit overboard and removed as many traces of a naming convention as I could. This proves my first point: a naming convention is an important part of a well-built data model.

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

Tag: Olap

What Are the Differences Between OLTP and OLAP?

Confused by online transaction processing (OLTP) and online analytical processing (OLAP) in the world of databases? Fear not. We have a simple explanation right here. To understand the differences between OLTP and OLAP, we first need to understand where they fit into the world of data and databases. And the answer is “data warehousing”. A data warehouse is a system used for reporting and data analysis. They are central repositories of data from one or more disparate sources, including relational databases.

A Subscription Business Data Model. Part 3

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.

A Subscription Business Data Model. Part 2

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.

A Subscription Business Data Model. Part 1

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.

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

13 Blog Articles on Database Design Best Practices and Tips

There’s a lot to keep in mind when you’re designing a database, and very few of us can remember every valuable tip and trick we’ve learned. So, let’s take a look at some online resources that feature database design tips and best practices. As we go, I’ll share my own opinions on the ideas presented, based on my experience in database design. Obviously, this article is not an exhaustive list, but I’ve tried to review and comment on a cross section of sources.

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.

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.

Tag: Oltp

What Are the Differences Between OLTP and OLAP?

Confused by online transaction processing (OLTP) and online analytical processing (OLAP) in the world of databases? Fear not. We have a simple explanation right here. To understand the differences between OLTP and OLAP, we first need to understand where they fit into the world of data and databases. And the answer is “data warehousing”. A data warehouse is a system used for reporting and data analysis. They are central repositories of data from one or more disparate sources, including relational databases.

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

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.

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.

Tag: What Is a One-to-Many Relationship in a Database? An Explanation with Examples

What Is a One-to-Many Relationship in a Database? An Explanation with Examples

One-to-many relationships are one of the most common database relationships. If you want to learn when and how to use one-to-many relationships, then this article is a great starting point. You will surely use one-to-many relationships to store information in any relational database, whether you are designing enterprise-level software or just creating a simple database to keep track of your uncle’s stamp collection. A Brief Introduction to the Relational Model Relational databases are a core component of any modern transactional application.

Tag: One to one relationship

What Is a One-to-One Relationship in a Database?

What is a one-to-one relationship in data modeling? How do you implement this relationship in a database? The examples in this article will answer these questions. There are three types of relationships between entities (tables) in data modeling: One-to-many relationships (also denoted as 1:M). Many-to-many relationships (M:N). One-to-one relationships (1:1). The most common type of relationship is a one-to-many relationship, where a record in one entity can be referenced by multiple records in another entity.

Tag: Online practice

Top 8 Most Useful Database Tools for SQL Server

Is creating complex SQL Server databases a challenge? Read on and discover our top SQL Server database tools. In this modern era, databases have become essential. So, database development has become a most common and vital part of the software development world. Microsoft SQL Server plays a significant role here; it’s one of the most popular Database Management Systems (DBMS) among database developers. This article will discuss 8 of the most useful database tools for SQL Server developers.

Tag: Oracle

The 5 Best Oracle Database Design Tools

Choosing the best Oracle database design tool can be the difference between a streamlined database design process and a complex, frustrating one. Dive deep into this comparative analysis of the top Oracle database modeling tools, from their collaboration capabilities to their model validation strengths. In the complex ecosystem of Oracle, having the right database design tools can dramatically improve workflows and results. Whether you're diving into ERD software or seeking a visual database design tool for Oracle, knowing the features and strengths of each option is crucial.

Top 10 Data Engineering Tools

Want to find out about the role of data engineers and data engineering? What are the top data engineering tools these professionals use? Read on to explore more. Data engineers create pipelines to facilitate an organization's data analytics by collecting, merging, and transforming data. They create an infrastructure for modern data analytics. Data engineers' work can be categorized into various sets of requirements that they must fulfill in building the pipeline.

What's the Best ER Diagram Tool for Oracle?

Want to start your next Oracle database project? Find out the best Oracle ER diagram tool and save yourself some time and extra work! Oracle is one of the best and most popular database management systems (DBMSs) in the world. Many database architects prefer to use Oracle because of its easy networking and interaction, cross-platform service, simple administration and maintenance, and other benefits. On the other hand, an ER diagram (entity-relationship diagram) is an essential tool for data modeling.

A look at algorithms used in RDBMS implementations of DWH systems

When you’re using a data warehouse, some actions get repeated over and over. We will take a look at four common algorithms used to deal with these situations. Most DWH (data warehouse) systems today are on a RDBMS (relational database management system) platform. These databases (Oracle, DB2, or Microsoft SQL Server) are widely used, easy to work with, and mature – a very important thing to bear in mind when choosing a platform.

The Reference Data Pattern: Extensible and Flexible

Having reference tables in your database is no big deal, right? You just need to tie a code or ID with a description for each reference type. But what if you literally have dozens and dozens of reference tables? Is there an alternative to the one-table-per-type approach? Read on to discover a generic and extensible database design for handling all your reference data. This unusual-looking diagram is a bird’s-eye view of a logical data model (LDM) containing all the reference types for an enterprise system.

Building an Information Mart With Your Data Vault

In the 3rd post in this series, we looked at how we prepare data for use with a concept called the Business Data Vault. Now, in this final part, I will show you the basics of how we project the Business Vault and Raw DV tables into star schemas which form the basis for our Information Marts. Raw Data Mart vs. Information Marts As of Data Vault 2.0, the terminology changed a bit to be more precise.

Data Vault 2.0 Modeling Basics

In my last post, we looked at the need for an Agile Data Engineering solution, issues with some of the current data warehouse modeling approaches, the history of data modeling in general, and Data Vault specifically. This time we get into the technical details of what the Data Vault Model looks like and how you build one. For my examples I will be using a simply Human Resources (HR) type model that most people should relate to (even if you have never worked with an HR model).

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

Database engine usage by Vertabelo users

The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong. Vertabelo users come from over 100 countries and speak various languages. What unites them? The relational database. Let’s see what relational databases they use: We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.

Barker’s Notation

When looking at different kinds of ERD notations, it is hard not to come across Barker’s ERD notation, which is commonly used to describe data for Oracle. Richard Barker and his coworkers developed this ERD notation while working at the British consulting firm CACI around 1981, and when Barker joined Oracle, his notation was adopted. Let’s take a closer look at Barker’s syntax. The most important components in the ERD diagram are:

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Tag: Organize

Tag: Orm

How You Can Use Hibernate With a Database Modeling Tool

Before writing this article, I talked to a group of software engineers who use Hibernate on a daily basis in their work. Some of them work for small companies (up to 20 developers on site) while others are employed in corporations known world-wide that employ over 100,000 IT professionals. This gave me an insight into how development with Hibernate is organized in different companies. There are several approaches to creating SQL scripts and Hibernate O/R Mapping classes.

Visual Design of SQLAlchemy Models in 6 Steps

In this article I’m going to show you how to design SQLAlchemy models using Vertabelo, an online tool for visual database design, and our code generator. SQLAlchemy is propably the most advanced and well engineered OR/M for Python, while Vertabelo is a database design tool that works in a web browser. The Vertabelo code generator is an pythonic script called vertabelo-sqlalchemy. As you can see, the script is open source and hosted on GitHub.

Tag: Pattern

Database Design Patterns for 2024

In 2024 and beyond, new types of applications will require you to refresh your arsenal of data modeling techniques. Find out what challenges you will face and what database design patterns you can use to overcome them. It is often said that just when you think you know all the answers, the universe comes along and changes all the questions. The universe of database design is no exception. Just when you think you have all the knowledge you need to design any type of database, new types of applications appear that pose new challenges for database modeling.

Universal and Timeless Database Design Patterns for 2024 and Beyond

Choosing the right data model pattern is the best way to avoid mistakes and bad decisions when creating a new database schema. To make the right choice, browse through this catalog of current database design patterns and choose the one that best suits your project requirements. Database design patterns are a useful tool to avoid the task of reinventing the wheel with every new database design you face. Since each design pattern offers proven solutions to common needs, it is just a matter of choosing the right pattern and saving yourself the trouble of starting from scratch.

Party Relationship Pattern. How to Model Relationships

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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.

Identifying the Bill of Materials (BOM) Structure in Databases

The bill of materials (BOM) design pattern is deceptively simple, yet incredibly powerful. Historically, it’s been employed to model product structures, but the pattern can be used to do much more than simply define a hierarchy. This article will introduce three very different examples to help you to recognize the pattern in your own projects. What Is a Bill of Materials, or BOM? A bill of materials has its roots in manufacturing.

Using Configuration Tables to Define the Actual Workflow

The first part of this series introduced some basic steps for managing the lifecycle of any entity in a database. Our second and final part will show you how to define the actual workflow using additional configuration tables. This is where the user is presented with allowable options each step of the way. We’ll also demonstrate a technique for working around the strict reuse of ‘assemblies’ and ‘sub-assemblies’ in a Bill of Materials structure.

Using Workflow Patterns to Manage the State of Any Entity

Have you ever come across a situation where you need to manage the state of an entity that changes over time? There are many examples out there. Let’s start with an easy one: merging customer records. Suppose we are merging lists of customers from two different sources. We could have any of the following states arise: Duplicates Identified – the system has found two potentially duplicate entities; Confirmed Duplicates – a user validates the two entities are indeed duplicates; or Confirmed Unique – the user decides the two entities are unique.

Tag: Performance

Denormalization: When, Why, and How

Databases are designed in different ways. Most of the time we can use “school examples”: normalize the database and everything will work just fine. But there are situations that will require another approach. We can remove references to gain more flexibility. But what if we have to improve performance when everything was done by the book? In that case, denormalization is a technique that we should consider. In this article, we’ll discuss the benefits and disadvantages of denormalization and what situations may warrant it.

What Is a Database Index?

Sooner or later there comes a moment when database performance is no longer satisfactory. One of the very first things you should turn to when that happens is database indexing. This article will give you a general overview on what indexes are without digging into too much detail. We’ll discuss additional database index topics in future articles. In general, a database index is a data structure used to improve queries execution time.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Tag: Personal account

Upcoming Changes in Vertabelo Team Account

We listened to your feedback and improved managing Vertabelo team accounts. No more confusing switching back and forth between personal and team accounts. And since Vertabelo is all about modeling, we couldn’t stop ourselves from using database models to explain the upcoming changes. In the next couple of days we will introduce major changes to the way we handle Vertabelo team accounts. After the changes are implemented, each user account will either be a personal account or be a member of a team account.

Tag: Php

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

Tag: Phpmyadmin

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

Tag: Physical data model

What Are the Different Types of Data Models?

A data model determines the logical structure of a database. It helps you find possible design issues before implementing and deploying the database. However, there are different types of data models which are used for different things. That’s what we’ll discuss in this article. The first step you should do when creating a new database is to model it. There are some basic principles that should be followed in this case.

How to Choose a Good Primary Key

In an SQL database, the primary key is an essential part of any table. Choosing the right primary key for each table requires us to take different factors into consideration if we want to guarantee simplicity, adaptability, and performance. A primary key (PK) is a specific type of database constraint. It guarantees that the column (or columns) that are part of it do not accept NULL values and that the value (or combination of values) entered for each row is unique.

8 Things to Consider When Creating a Physical Data Model

Designing a clear physical data model can be challenging – especially when you don’t stop to consider these eight critical areas. Get our expert tips on creating a better physical model. A physical model is the technical implementation of a logical data model. It has a higher level of detail and is specifically created for a particular database vendor, taking into account that database management system’s technical features and restrictions.

How to Create Physical Diagrams in Vertabelo

So you don't like writing all of your SQL CREATEs by hand? Design your database with Vertabelo and let it generate the SQL file for you! As you may already know, there are three different levels of data models: conceptual, logical, and physical data models. The conceptual model is the most abstract, while the logical model has a few more technical details. The physical data model defines all the details needed for a specific database: column data types, primary and foreign keys, constraints, indexes, sequences, views, and other physical objects.

What Are Conceptual, Logical, and Physical Data Models?

Depending on the purpose, we may need to create either a conceptual, logical, or physical data model. Find out the differences and use cases for each one. Data modeling implies identifying and defining entities and their relationships for a business solution. It requires a good understanding of the desired business outcome and is the foundation for creating a robust software solution. The different model types (conceptual, logical, and physical) have different levels of detail and are used at different stages of the software development process.

Vertabelo Feature: Amazon Redshift Support in Vertabelo

Find out how to design an Amazon Redshift schema in Vertabelo. Thanks to increasing volumes of data, analytical databases like Amazon Redshift are gaining market. We introduced Redshift support at the end of 2019; in this article, we will explain how to design a Redshift data model using Vertabelo. How to Create a Model Let's start with the data model creation process. To create a Redshift schema, please: Log into Vertabelo and click on Create new document.

How to Generate a Physical Diagram from a Logical Diagram in Vertabelo

Have you finished preparing your logical data model in Vertabelo? Awesome! In this article, we'll show you how to generate the physical data model from the logical model in Vertabelo. It’s just a few clicks away. Ready? Let's dive into it. Quick Intro In this article, we'll deal with a slightly modified version of Microsoft's Northwind Database. We often use it in our LearnSQL courses, such as Customer Behavior Analysis in SQL.

How to Implement a Conceptual, Logical, and Physical Data Model in Vertabelo

This article will lead you through the differences between the conceptual, logical, and physical data models. It will also show you how to create each one.  What are conceptual, logical, and physical data models? What do they do, and what are the differences between them? That’s what I’ll answer in this article. It won’t be only theory; I’ll also show you how to create different data models using Vertabelo.

Tag: Postgresql

7 Best PostgreSQL Database Design Tools

Database design is the most important part of any database project, and choosing the best tools for your database project is crucial to its success. In this article, we’ll explore the features of the best design tools for your PostgreSQL database. As we all know, database design or data modeling is the first step in building a database. Data modeling is the methodical process of identifying, classifying, and graphically presenting all the relevant data in an information system.

Support for New Versions of PostgreSQL and MS SQL Server in Vertabelo

With the latest release of Vertabelo in 2021, we have overhauled the UI for a better experience in database modeling. We’ve also added a lot of new features requested by our customers. We’re happy to announce we now support the latest versions of PostgreSQL and MS SQL Server. You can now define partitions, specify data types for sequences, and add identity columns in PostgreSQL. Similarly, you can create DDLs for the latest versions of MS SQL Server.

Converting an Analytics System from Postgres to Redshift

Online systems tend to track user’s actions. Gathering information about users’ behavior can increase the quality of their experience, which can lead to increased business income. In this article, we will show how to reimplement an existing Postgres database to a more complex analytics database like Amazon Redshift. The solution we want to reengineer is a tracking system for an online SQL learning platform like LearnSQL.com. The source implementation is built on a PostgreSQL database and contains two main tables:

What’s the Best ER Diagram Tool for PostgreSQL?

Data modeling for PostgreSQL is no longer a challenge. Read on and learn about the best tool for PostgreSQL ER diagrams. PostgreSQL, a.k.a. Postgres, is a free and open-source relational database management system (RDBMS). It has become popular for database development among major organizations such as Instagram, Skype, and Netflix. Since the ERD (Entity Relationship Diagram) is an essential tool in data modeling, it’s worth the effort to find the perfect ERD tools that support Postgres.

Constraints in PostgreSQL and How to Model Them in Vertabelo

Database constraints allow you to give a certain shape to your data, tables, and columns. Are you planning to use PostgreSQL as your database? Check out what PostgreSQL constraints can do! In this article, we will go over PostgreSQL’s database constraints and see how to model them in Vertabelo. For each of the constraints, I’ll provide: A definition of the constraint. A usage example. Instructions on how to model the constraint in Vertabelo.

Database Modeling Tips

When you were learning database concepts, data modeling looked pretty easy, didn’t it? You knew all the rules, and modeling seemed like a game: get a challenge, do your best, and eventually solve it. Job well done! Moving up to the next level – and so on. As you continue, though, you’ll see that database modeling is also an art. Many cases require a totally new approach. Everything can be done ‘by the book’, but sometimes you get better results when you go less orthodox.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

Designing & Deploying a PostgreSQL Database in the Cloud

Our users sometimes say to us: “Vertabelo is awesome but... how can I add the data?” Oh, come on! Vertabelo is not a database engine or a database administration tool. At least not at the moment. For now, Vertabelo is intended mainly to design database models. This doesn't mean that we don’t care about what you can do next with models created in our application. Of course, we do! That’s why we provide our users with some useful tools on our website and in our GitHub repository.

Database engine usage by Vertabelo users

The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong. Vertabelo users come from over 100 countries and speak various languages. What unites them? The relational database. Let’s see what relational databases they use: We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Tag: How to Choose a Good Primary Key

How to Choose a Good Primary Key

In an SQL database, the primary key is an essential part of any table. Choosing the right primary key for each table requires us to take different factors into consideration if we want to guarantee simplicity, adaptability, and performance. A primary key (PK) is a specific type of database constraint. It guarantees that the column (or columns) that are part of it do not accept NULL values and that the value (or combination of values) entered for each row is unique.

Tag: Python

Top 8 Most Useful Database Tools for SQL Server

Is creating complex SQL Server databases a challenge? Read on and discover our top SQL Server database tools. In this modern era, databases have become essential. So, database development has become a most common and vital part of the software development world. Microsoft SQL Server plays a significant role here; it’s one of the most popular Database Management Systems (DBMS) among database developers. This article will discuss 8 of the most useful database tools for SQL Server developers.

Merging Multiple User Accounts

Social media surrounds us, so it’s not unusual for applications to require some kind of social media integration. The most common issigning in with Facebook, Twitter, or another service. Users expect to be able to log in with different social accounts. So, applications meet these expectations by offering external login options. Let’s take a look at this functionality and investigate how to merge users’ accounts – specifically, we’ll consider the situation when people use several methods to log in.

How to Store Authentication Data in a Database. Part 4

Handling user registration and authentication isn’t an easy task. Both users and developers understand this. Users have to select and remember another username and password (taking into account different password policies, of course). A developer’s responsibility is to make this process secure and to properly protect the user’s data. So it’s no surprise that logging in with one account – Facebook or Google, for example – is extremely popular.

Visual Design of SQLAlchemy Models in 6 Steps

In this article I’m going to show you how to design SQLAlchemy models using Vertabelo, an online tool for visual database design, and our code generator. SQLAlchemy is propably the most advanced and well engineered OR/M for Python, while Vertabelo is a database design tool that works in a web browser. The Vertabelo code generator is an pythonic script called vertabelo-sqlalchemy. As you can see, the script is open source and hosted on GitHub.

Tag: How to import an existing database into Vertabelo: Reverse Engineering

Export SQL DDL From MySQL Workbench for Importing Into Vertabelo

Do you have an existing database model you would like to work with in Vertabelo? If so, you've come to the right place! In this article, you learn how to export a DDL file from MySQL Workbench and import it into our modeling tool. We also take a look at other ways to import an existing database schema into Vertabelo and organize existing tables. How to Export a DDL File From MySQL Workbench First, let's see how to export an existing database.

How to Export an SQL DDL File From SQL Server Management Studio for Reverse Engineering

Keep your database secure and up to date by deconstructing your database to extract and update its design. In this article, we show you how to export an SQL DDL file from SQL Server Management Studio, that is, export your SQL Server database in the form of an SQL script, and import it into Vertabelo. Also, you'll learn about the Vertabelo Reverse Engineering tool to export your entire database into an XML file and import it into Vertabelo for further processing.

Reverse Engineering With Vertabelo

Learn how to import your database into Vertabelo and generate its data model with our improved reverse engineering feature. We’re excited to announce the release of a new version of our popular reverse engineering tool. You've been asking for a user-friendly interface, and we heard you. If working with Java is not your thing, our new graphical user interface lets you click through the process in no time.  Download the upgraded reverse engineering tool here.

How to filter tables in the Vertabelo reverse engineering tool

Sometimes you don't want the reverse engineering tool to extract all of the tables in your database. For example, the database may contain technical tables which are logically are not part of the model. This is when the -regexp option comes in handy. Use the -regexp option and the tool will extract all tables and views with names matching the regular expression. The tool prints the regular expression it uses so you can verify that your shell parsed the expression correctly.

New Feature: Photo Reverse Engineering

We're happy to announce that Vertabelo has a new feature we've been working on for some time: Photo Reverse Engineering. This is the quickest way to transfer your hand-written design sketches into Vertabelo. Draw your model on a piece of paper, a whiteboard, or a blackbord, take a photo, upload it into Vertabelo and you're done: your model is in Vertabelo. How it works Draw your model on a board, or a piece of paper.

WordPress Database Finally Unveiled!!!

Sorry for that tabloid title, but I couldn’t resist. I’m going to show you how to view the database design of other people’s systems. It will work for legacy systems as well. Of course, you may call show tables and describe table in the database console but that’s a very rudimentary way to examine the structure. You’ll miss a bird’s eye view of the design which is crucial to understanding a system as a whole.

Tag: Second normal form

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

Tag: Security

A Beginner’s Guide to Database Security

How do database pros guard against data breaches? A quick overview of database security essentials: authentication, encryption, user access, and more. Some time ago, I came across WIRED's article on the data breach at Vastaamo, a Finnish mental health provider network. It read like a cyberthriller: someone hacking into a massive database of patients' deepest, darkest secrets and using them to blackmail the company, the individual patients, and the community as a whole.

Security Approaches in Data Modeling. Part 4

This is the fourth in our multi–part series on data modeling for information security as well as data characteristics. A simple data model for a fictional website that supports shared–interest organizations (bird–watching clubs, etc.) has provided us with content for exploring data modeling from a security viewpoint. In Oscar Wilde’s play Lady Windermere’s Fan, Lord Darlington tags a cynic as “somebody who knows the price of everything, and the value of nothing.

Security Approaches in Data Modeling. Part 3

This is the third of our multi-part series on applying information security approaches to data modeling. The series uses a simple data model, something to manage social clubs and interest groups, to provide the content we look to secure. Later we will address modeling for authorization and user management, as well as other parts of a secure database implementation. In social situations, it’s common to “read between the lines” – deducing the unspoken assumptions and assertions in a conversation.

“Is It Secret? Is It Safe?” Handling Sensitive Data in Your Data Modeling

Early in the movie “The Fellowship of the Ring”, the wizard Gandalf asks the hero Frodo this question: “Is it secret? Is it safe?” We may not have a magic ring to protect, but we’re asking the same question. But we’re talking about information. This is the second in a multi-part series on how to apply information security principles and techniques as part of data modeling. This series uses a simple data model designed to manage non-commercial clubs as an example of security approaches.

Applying Simple Access Control to a Small Data Model

“Information is the lifeblood of any organization…” We hear a lot of statements like this, or about an “information age,” or an “information economy.” When we agree with belief that amplifies the importance of information in the world today, we have to consider how to make that all-important information secure. Who can see my bank account? Was the facilities maintenance contract lost? Why can’t I get the latest lab report?

Tag: Snowflake schema

How to Generate a Snowflake Database Model DDL

In this article, we will see how to use Vertabelo to create a Snowflake DDL script. We’ll start from a data model created online and walk you through the process of generating the SQL script that will create the physical database. Vertabelo is a powerful yet easy-to-use data modeling tool that can help you create database models for many database engines, including Snowflake. What Is Snowflake? Snowflake is a Cloud-based Database-as-a-Service designed by former Oracle engineers.

How to Model Snowflake External Tables in Vertabelo

There is a lot more data than stored in databases. This raises the question of how to access all the external data from the database. The external tables come to the rescue! Read along to learn more about external tables in Snowflake and how to model them in Vertabelo. This article focuses on external tables in the Snowflake database. We will first introduce the Snowflake database and the concept of external tables.

Vertabelo Feature: Snowflake Support

Vertabelo Feature: Snowflake Support Cloud and analytical databases are very popular and are becoming more important. Snowflake has been one of the most popular feature requests on our support page and a much-anticipated database for Vertabelo support. We are happy to announce that Snowflake databases can now be designed with Vertabelo! In this article, we’ll explain how to create a physical ER diagram for a Snowflake database in Vertabelo. Remember that you can also choose to create a logical ER diagram first and then use that to generate a physical ER diagram.

Star Schema vs. Snowflake Schema

In the previous two articles, we considered the two most common data warehouse models: the star schema and the snowflake schema. Today, we’ll examine the differences between these two schemas and we’ll explain when it’s better to use one or the other. The star schema and the snowflake schema are ways to organize data marts or entire data warehouses using relational databases. Both of them use dimension tables to describe data aggregated in a fact table.

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

Tag: Source control

How to Version Control Your Database with Vertabelo and Git

Find out how to keep track of data model changes in Vertabelo using Git as a source control management tool. In this article we will discuss a possible way to use source control management tools like GIT to track all changes in your Vertabelo data model. We are also going to detail the code-database workflow that we use daily to develop Vertabelo itself as well as our other applications.

Tag: Spider schema

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.

Tag: Sql

Why Your Company Needs a Database Modeling Tool

Why do companies use data modeling tools? The short answer: To save costs, gain efficiency and stay competitive in their market. In this article, you’ll learn about all the benefits your company can reap by investing in a leading database modeling tool. Good database modelers need only one tool: their knowledge and ability to conceive data models that solve real-world problems. Eventually, they need to translate their designs into artefacts that help communicate ideas and concepts.

What Is a DDL Script? How Do You Use It?

What is a DDL script and why is it so crucial for systems that use relational databases? DDL scripts are widely used in creating, documenting, and migrating systems that use relational databases. They can be designed for simple tasks, such as migrating a database from one server to another, or for more complex tasks. DDL scripts are read sequentially and are written in SQL with commands specific for defining data structures (CREATE, ALTER, and DROP).

How to Store Login Data in a Database

Figuring out authentication is part of a secure data storage strategy. Find out how to store auth data safely in your database. Almost every application requires user authentication; that is why authentication data storage is a common feature of database and application design. Special attention is needed to ensure data is kept secure and to avoid breaches that can compromise sensitive information. Do I Need Authentication or Authorization? Although both words are frequently used in a similar way, they do not mean the same thing.

Using Vertabelo’s SQL Script Editor

Vertabelo’s new SQL Script tool lets you write and save SQL scripts and run them against a connected database. Creating an SQL Script Start by clicking on the Create Document button. It’s the first one on the main toolbar. The New Document window appears. Now select SQL script and click on the Create button. The New SQL script window will be displayed. Name your script using the Name field and click the CREATE button.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

A Database Model for a Renting Service

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

A Process Management Data Model

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!

Improving Our Online Job Portal Data Model

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.

The Proper Way to Handle Multiple Time Zones in MySQL

In this article, I’ll walk you through some fundamental considerations for working with date- and time-related data in MySQL. We’ll also look at how to handle multiple time zones and daylight saving time changes. Let’s first address some core concepts that will help us understand the underlying complexity of time-related data. It is important to notice that these concepts apply when representing a point in time rather than an absolute duration.

A look at algorithms used in RDBMS implementations of DWH systems

When you’re using a data warehouse, some actions get repeated over and over. We will take a look at four common algorithms used to deal with these situations. Most DWH (data warehouse) systems today are on a RDBMS (relational database management system) platform. These databases (Oracle, DB2, or Microsoft SQL Server) are widely used, easy to work with, and mature – a very important thing to bear in mind when choosing a platform.

Again and Again! Managing Recurring Events In a Data Model

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.

Database Modeling Tips

When you were learning database concepts, data modeling looked pretty easy, didn’t it? You knew all the rules, and modeling seemed like a game: get a challenge, do your best, and eventually solve it. Job well done! Moving up to the next level – and so on. As you continue, though, you’ll see that database modeling is also an art. Many cases require a totally new approach. Everything can be done ‘by the book’, but sometimes you get better results when you go less orthodox.

The Reference Data Pattern: Extensible and Flexible

Having reference tables in your database is no big deal, right? You just need to tie a code or ID with a description for each reference type. But what if you literally have dozens and dozens of reference tables? Is there an alternative to the one-table-per-type approach? Read on to discover a generic and extensible database design for handling all your reference data. This unusual-looking diagram is a bird’s-eye view of a logical data model (LDM) containing all the reference types for an enterprise system.

Tip #5 – How to quote table names in generated SQL script

Sometimes, you want all identifiers in your SQL script to be quoted. For example, you want them to have a particular case. Luckily, Vertabelo allows you to quote all SQL identifiers in your generated script to prevent you from any SQL name conflicts. Go to your model: Click the SQL generation settings tab in the Model properties panel on the right: Check Quote all SQL identifiers:

Interesting Changes in MySQL 5.7

The General Availability version of MySQL is still version 5.6, but the development release of MySQL 5.7 definitely introduces some exciting changes to the world of database management systems. Is it worth giving a try? In this article, we’ll have a closer look at a few brand-new features that may help you decide to do so. Native JSON Support JSON (short for Java Script Object Notation) is a format for storing information which can be a good alternative to XML.

What Is a Database Index?

Sooner or later there comes a moment when database performance is no longer satisfactory. One of the very first things you should turn to when that happens is database indexing. This article will give you a general overview on what indexes are without digging into too much detail. We’ll discuss additional database index topics in future articles. In general, a database index is a data structure used to improve queries execution time.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Tag: Sql script

What SQL Scripts Can Vertabelo Generate for You?

A starting point for keeping your database management hassle-free is a good database modeling tool. A good ER diagram is not only about a pretty picture; it can actually carry a lot of secondary data. For example, it may contain all necessary column constraints or additional SQL scripts to be run at a specified time. A good database modeling tool lets you create a physical ER diagram, oversees and validates your model (including your custom data types), and also lets you generate SQL scripts to set up your database or adjust it to the changes in the model.

Tag: Sql server

How to Export an SQL Server Database Schema Into a Diagram

If you have a database in SQL Server, you can generate its database diagram to visualize your data. Better yet, you can export your database as an SQL DDL script and use it to create a data model in Vertabelo where you can process it further. Read on to find out more. In this article, we review how to export SQL Server database schema into a diagram. First, we walk through how to create a database diagram in SQL Server, either for the entire database or for specific schemas of the database.

How to Create a Database Diagram in SQL Server

Learn how to create a database diagram using a data modeling tool for SQL Server. Microsoft SQL Server is one of the most popular database management systems (DBMS) among database developers. It’s used by many large organizations for a variety of databases. So, it is worth learning how to create a database diagram in SQL Server. A perfect database starts with a great database model. If the database is a skyscraper, the data model is the foundation.

How to Export an SQL DDL File From SQL Server Management Studio for Reverse Engineering

Keep your database secure and up to date by deconstructing your database to extract and update its design. In this article, we show you how to export an SQL DDL file from SQL Server Management Studio, that is, export your SQL Server database in the form of an SQL script, and import it into Vertabelo. Also, you'll learn about the Vertabelo Reverse Engineering tool to export your entire database into an XML file and import it into Vertabelo for further processing.

Database Constraints in SQL Server and How to Model Them in Vertabelo

Database design – including where and how to use constraints – is essential to the correct function of your database. To properly implement database constraints in SQL Server, you must understand all the requirements and execute them accordingly. How would you do this? This article will explain it in detail! To design your database, you need a database blueprint, database constraints, indexes, database design software like Vertabelo – and more.

What’s the Best ER Diagram Tool for SQL Server?

Are you working on an SQL Server database project? Read this article to learn about the perfect SQL Server ER diagram tool. SQL Server is a Relational Database Management System (RDBMS) developed by Microsoft Corporation. It allows database developers to build desktop and web-based database applications. In addition, many IT professionals (including Database Architects, Software Engineers, CTOs, etc.) and semi-professionals (including university students) use SQL Server modeling tools. So, let’s learn about the best SQL Server ERD tools and their features.

Database engine usage by Vertabelo users

The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong. Vertabelo users come from over 100 countries and speak various languages. What unites them? The relational database. Let’s see what relational databases they use: We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.

SQL Performance Explained – the must-read book

Some time ago, the Vertabelo Team participated in the PostgreSQL Conference Europe 2013. Some of the talks were really nice. One of them stuck in my head for quite a long time. It was Markus Winand’s lecture titled “Indexes: The neglected performance all-rounder.” Although I had had a solid background in databases, this 50 minutes long talk showed me that not everything concerning indexes was as clear to me as I had thought.

Tag: Sqlalchemy

Visual Design of SQLAlchemy Models in 6 Steps

In this article I’m going to show you how to design SQLAlchemy models using Vertabelo, an online tool for visual database design, and our code generator. SQLAlchemy is propably the most advanced and well engineered OR/M for Python, while Vertabelo is a database design tool that works in a web browser. The Vertabelo code generator is an pythonic script called vertabelo-sqlalchemy. As you can see, the script is open source and hosted on GitHub.

Tag: Sqlite

Database engine usage by Vertabelo users

The Vertabelo journey continues … We now have almost 10,000 users and the number of Vertabelo advocates keeps growing strong. Vertabelo users come from over 100 countries and speak various languages. What unites them? The relational database. Let’s see what relational databases they use: We wanted to determine the most popular database engine among Vertabelo users based on one of three widely-used operating systems: Windows, Linux, Mac OS.

Tag: Star schema

What Is the Star Schema Data Model? An Explanation with 3 Examples

In this article, we will talk about the star schema data model. When should you use this to structure your data? What are its advantages over other data schemas? We’ll answer these questions and more in this article. What Is a Star Schema? The star schema is a popular approach for designing data warehousing and business intelligence data models. It uses dimensional modeling; in other words, it utilizes dimension tables with descriptive attributes that provide context for the measures in the fact table.

Facts about Facts: Organizing Fact Tables in Data Warehouse Systems

The process of defining your data warehousing system (DWH) has started. You’ve outlined the relevant dimension tables, which tie to the business requirements. These tables define what we weigh, observe and scale. Now we need to define how we measure. Fact tables are where we store these measurements. They hold business data that can be aggregated across dimension combinations. But the fact is that fact tables are not so easily described – they have flavors of their own.

Star Schema vs. Snowflake Schema

In the previous two articles, we considered the two most common data warehouse models: the star schema and the snowflake schema. Today, we’ll examine the differences between these two schemas and we’ll explain when it’s better to use one or the other. The star schema and the snowflake schema are ways to organize data marts or entire data warehouses using relational databases. Both of them use dimension tables to describe data aggregated in a fact table.

The Snowflake Schema

In a previous article we discussed the star schema model. The snowflake schema is next to the star schema in terms of its importance in data warehouse modeling. It was developed out of the star schema, and it offers some advantages over its predecessor. But these advantages come at a cost. In this article, we’ll discuss when and how to use the snowflake schema. The Snowflake Schema if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "

The Star Schema

Today, reports and analytics are almost as important as core business. Reports can be built out of your live data; often this approach will do the trick for small- and medium-sized companies without lots of data. But when things get bigger – or the amount of data starts increasing dramatically – it’s time to think about separating your operational and reporting systems. Before we tackle basic data modeling, we need some background on the systems involved.

Tag: Suite crm database

Part 4 – How to Use It

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.

Tag: Surrogate key

What Is a Surrogate Key?

A surrogate key is a type of primary key used in most database tables. It provides a simple, system-generated, business-agnostic column. This column is used as an identifier for each row rather than relying on pre-existing attributes. Learn more, including why surrogate keys are widely used, below. Before learning about surrogate keys in detail, consider reading the article “On Keys.” This will help you fully understand the concept of keys in a database model and the different types that exist.

Tag: Tag2database design

What Are the Different Types of Data Models?

A data model determines the logical structure of a database. It helps you find possible design issues before implementing and deploying the database. However, there are different types of data models which are used for different things. That’s what we’ll discuss in this article. The first step you should do when creating a new database is to model it. There are some basic principles that should be followed in this case.

Tag: Team account

How to Collaborate Effectively in Vertabelo

Learn how to use Vertabelo's features to collaborate effectively on database models and documents. In the post-pandemic world, effective collaboration on database modeling is of the essence. Database developers and data modelers must work together on developing data models and writing SQL queries, functions, procedures, and more. Every substrate of software engineering is becoming more collaborative by the day, and database development is no different. Teams cannot function properly to deliver results if they are not using the right tools.

What Are the Roles in the Vertabelo Team Account? What Can Each Role Do?

Are you working on a team data modeling project? Find out about Vertabelo’s team account and how it can help you collaborate on a database model. Collaborating on database models, especially remotely, is challenging enough. Why pay for separate user accounts? In this article, we’ll explain Vertabelo’s new team account, its user roles, and its benefits. The Vertabelo team account makes collaboration on database models easier and more efficient. Let’s see why.

Upcoming Changes in Vertabelo Team Account

We listened to your feedback and improved managing Vertabelo team accounts. No more confusing switching back and forth between personal and team accounts. And since Vertabelo is all about modeling, we couldn’t stop ourselves from using database models to explain the upcoming changes. In the next couple of days we will introduce major changes to the way we handle Vertabelo team accounts. After the changes are implemented, each user account will either be a personal account or be a member of a team account.

How do I create a company account ?

If you need many accounts for your employees and don't want to pay for each account separately, create Vertabelo company account. A company account enables model sharing, inviting people, working on a model at the same time, and paying for group of workers. If you already have an individual account, set up a company account. In addition, a company account has all of the features of an individual Premium account (unlimited number of tables/models), extended with: ability to manage users/teams.

How do I pay for a company account after the trial period ends ?

If your 14 days company account trial period is going to end and you want to continue using the company account, there is an easy way to set up a monthly subscription for the appropiate number of users. In the Company menu click on Payments. In the Account plan section, click the Change account plan button. Pick the number of user accounts and enter a promotional coupon code if you have one.

Tag: Template

Integrated Transport Data Model

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.

Payroll Data Model

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.

911/112: An Emergency Call Service 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.

A Public Opinion Agency Data Model

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.

Track Signals with a Signal Processing Data Model

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.

A Library Data Model

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!

A Database Model for a Hotel Reservation Booking App and Channel Manager

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.

A Data Model for Online Concert Ticket Sales

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.

Designing a Database for a Recruitment System

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.

A SaaS Subscription Data Model

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.

The Important Dates Data Model

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.

A Data Model for an Online Musical Equipment Shop

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.

A Data Model for a Wine Store

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.

A Peer-to-Peer Lending Platform Data Model

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.

Automobile Repair Shop Data Model

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.

The Smart Home Data Model

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.

A Data Model for a Freelancers Collective

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.

A Marathon Training App Data 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?

The Secrets of Dominoes, or A Domino Game Data Model

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.

Earn Money with Unused Stuff: A Sharing Economy Data Model

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?

A Grocery Delivery Data Model

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.

A Data Model for Map- and Turn-Based Games

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.

A Children’s Party Data Model

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.

A Restaurant Delivery Data Model

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.

A Dating App Data Model

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.

A Data Model for a Weather App

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.

A Data Model for Trading Stocks, Funds, and Cryptocurrencies

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.

Star Trek 3D Chess Data Model

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.

Delivering Christmas Presents: Santa’s Data Model

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.

Constructing a Data Model for a Parking Lot Management System

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?

Wedding Organization Data Model

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 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.

Modeling an Open Marketplace for Education

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.

A Mail Delivery Company Data Model

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 😊.

A County Club Data Model

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.

A Pet Care Data Model

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.

A Google Analytics Data Model

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!

A Data Model for a Leasing Office

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.

A Sports School Data Model

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!

A Song of Ice and Databases: A Game of Thrones Data Model

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.

An Online Auction Data Model

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.

A Marketing Agency Data Model

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.

Clinic Management System Data Model

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.

Build Your Own City: An Open-Ended Building Game Data Model

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.

A Language School Database Model

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.

Inside A Shopping Center Data Model

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.

Summer Is Here: A Travel Agency Data Model

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.

A Smart Way to Build Skills – An E-Learning Portal Data Model

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.

Coping with the 4Ds of Life: A Self-Storage Data Model

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.

Offers, Deals, and Discounts: A Product Pricing Data Model

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.

The Book of All Knowledge: An Online Encyclopedia Data Model

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.

A Data Model to Track Tennis Tournaments

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.

A Data Model for an Electric Power Production System

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.

A Crowdfunding Platform Data Model

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.

Hire or Get Hired: A Data Model for the Recruitment Process

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.

Designing an Online Classifieds Data Model

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.

A Data Model for an Electric Power Distribution System

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.

A Database Model for a Renting Service

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.

An Antique Store Data Model

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.

A Data Model for a Medical Appointment Booking App

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.

An Event Management Data Model

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?

A Real Estate Agency Data Model

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.

A Data Model to Keep Track of Your Most Precious Possession

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.

A Process Management Data Model

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!

Improving Our Online Job Portal Data Model

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.

A Transport Hub Database Model

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.

A Database Model for Gallery or Museum Management

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.

A Project Management Data Model

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!

A Database Model for Action Games

In previous articles, we’ve discussed data model that could run card games, board games and even MMO games. 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.

A Database Model for a Freelance Job Platform

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.

Designing a Database for an Online Job Portal

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.

A Database Model for a MOOC Platform

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).

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Database Models for E-Commerce Part 1: The Newsletter

In general, people do not like receiving unsolicited e-mails. Nevertheless, they sometimes subscribe to newsletters in order to get a discount or to keep up-to-date with new products. This article will present one approach to designing a newsletter database. Why Worry About Newsletter Emails? Newsletter subscribers represent an extremely valuable group of clients – they are interested in our products, they trust us, and they spend time reviewing our offers and promotions.

Again and Again! Managing Recurring Events In a Data Model

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.

A Data Model for Listing Apartments and Other Rental Units

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

A Database Model to Manage Appointments and Organize Schedules

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.

What Do the Olympic Games, UEFA Euro 2016 Football Matches, and Databases Have In Common?

On hearing what I do, people tend to ask me the same question: Can you develop a system that predicts football match results? Or Olympic medal outcomes? Personally, I don’t put much faith in predictions. Still, if we had a large amount of historical data and relevant indicators, we could certainly design a system to help us come up with more accurate assumptions. In this article, we’ll consider a model that can store the results of matches and tournaments.

Party Relationship Pattern. How to Model Relationships

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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.

Identifying the Bill of Materials (BOM) Structure in Databases

The bill of materials (BOM) design pattern is deceptively simple, yet incredibly powerful. Historically, it’s been employed to model product structures, but the pattern can be used to do much more than simply define a hierarchy. This article will introduce three very different examples to help you to recognize the pattern in your own projects. What Is a Bill of Materials, or BOM? A bill of materials has its roots in manufacturing.

A Simple Online Store Model: Sell, Ship, and Get Paid

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.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

What Do Poker, Blackjack, Belot and Préférence Have to Do with Databases?

How to design a database flexible enough to accommodate several very different card games. Recently, we showed how a database could be used to store board game results. Board games are fun, but they’re not the only online version of classic games going. Card games are also very popular. They introduce an element of luck into gameplay, and there is much more than luck involved in a good card game!

How to Design a Localization-Ready System

In this era of globalization, companies – including software developers – are always interested in expanding to new markets. This often means localizing their products for different areas. In this article, we’ll explain a few approaches to designing your data model for localization – specifically, for managing content in multiple languages. What Is Localization? Localization is the process of adapting a product to various markets. It is a prominent factor in achieving maximum market share in terms of product sales.

Security Approaches in Data Modeling. Part 4

This is the fourth in our multi–part series on data modeling for information security as well as data characteristics. A simple data model for a fictional website that supports shared–interest organizations (bird–watching clubs, etc.) has provided us with content for exploring data modeling from a security viewpoint. In Oscar Wilde’s play Lady Windermere’s Fan, Lord Darlington tags a cynic as “somebody who knows the price of everything, and the value of nothing.

Using Configuration Tables to Define the Actual Workflow

The first part of this series introduced some basic steps for managing the lifecycle of any entity in a database. Our second and final part will show you how to define the actual workflow using additional configuration tables. This is where the user is presented with allowable options each step of the way. We’ll also demonstrate a technique for working around the strict reuse of ‘assemblies’ and ‘sub-assemblies’ in a Bill of Materials structure.

Using Workflow Patterns to Manage the State of Any Entity

Have you ever come across a situation where you need to manage the state of an entity that changes over time? There are many examples out there. Let’s start with an easy one: merging customer records. Suppose we are merging lists of customers from two different sources. We could have any of the following states arise: Duplicates Identified – the system has found two potentially duplicate entities; Confirmed Duplicates – a user validates the two entities are indeed duplicates; or Confirmed Unique – the user decides the two entities are unique.

A Database Model for Simple Board Games

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.

Security Approaches in Data Modeling. Part 3

This is the third of our multi-part series on applying information security approaches to data modeling. The series uses a simple data model, something to manage social clubs and interest groups, to provide the content we look to secure. Later we will address modeling for authorization and user management, as well as other parts of a secure database implementation. In social situations, it’s common to “read between the lines” – deducing the unspoken assumptions and assertions in a conversation.

Viewing Holidays With Data Modeler’s Eyes

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.

“Is It Secret? Is It Safe?” Handling Sensitive Data in Your Data Modeling

Early in the movie “The Fellowship of the Ring”, the wizard Gandalf asks the hero Frodo this question: “Is it secret? Is it safe?” We may not have a magic ring to protect, but we’re asking the same question. But we’re talking about information. This is the second in a multi-part series on how to apply information security principles and techniques as part of data modeling. This series uses a simple data model designed to manage non-commercial clubs as an example of security approaches.

WordPress – Behind the Scenes, Part 2

In Part 1 of this series, I demonstrated how to install WordPress locally and how to import a WordPress database into Vertabelo. In this article, we’ll take a closer look at the tables in the WordPress database. A Quick Look at the WordPress Database Model and the Dashboard In the previous part, I imported the WordPress database into our online database modeling tool. For the record, the structure of the database is as follows:

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

Creating a Data Model for Carpooling

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.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Database Modeling

I wrote a song about dental floss but did anyone’s teeth get cleaner? Frank Zappa When we think of the dental office, our first associations are the drill, the pain, and the fear. OK, that sounds bad. Besides taking care of teeth, a dentist has many other obligations that are professional, legal, or both. All of them require proper data management. To meet this documentation requirement, many dental and medical offices use paper records.

How Does Database Design Help Organize Teachers, Lessons, and Students?

An investment in knowledge pays the best interest. Benjamin Franklin In the modern world, education is omnipresent. Now more than ever before, it plays an important role in our society. It’s so important, in fact, that many of us continue our education well after finishing school or college. We have all heard of lifelong learning, non-formal education, and workshops for all ages. These methods differ from formal education in many ways, but they also have things in common.

Creating Tables for Products and Services

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.

Creating Tables for Products and Services

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.

Database Model for a Messaging System

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.

Applying Simple Access Control to a Small Data Model

“Information is the lifeblood of any organization…” We hear a lot of statements like this, or about an “information age,” or an “information economy.” When we agree with belief that amplifies the importance of information in the world today, we have to consider how to make that all-important information secure. Who can see my bank account? Was the facilities maintenance contract lost? Why can’t I get the latest lab report?

Modeling a Database for Recording Sales. Part 1

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.

Tackling Your Troubles – Building a Bug and Problem Database

Death and taxes – add “software problems” to that list of the inevitable. There is always a new issue, a new failure, a new key opportunity that an organization must address. And to avoid repeating the problems, or to revise your prior fixes, it is critical to capture the problems accurately and completely. You need a history of what happened and when. In this piece, we create the logical model for a problem or “bug” reporting system.

Managing Roles and Statuses in a System

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.

Database Model for a Driving School’s Reservation System. Part 2

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

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.

How to Store Authentication Data in a Database. Part 1

How difficult is it to program a user login function for an application? Novice developers think it’s very easy. Experienced developers know better: it is the most sensitive process in your application. Errors in login screens can lead to serious security issues. In this article we take a look at how to store authentication data in your database. The most common way to authenticate users nowadays is with user name and password.

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.

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.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

How to Store Employees’ Schedules in a Database

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:

How to Model Inheritance in a Relational Database

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.

Database Design 101: Database Model for an Online Store

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.

Tag: Third normal form

How To Remember the Rules for Database Normal Forms

Database Normalization in Simple English Have you heard of 2NF, 3NF, and BCNF? Do you know what the database normal forms mean? In this article, you will learn database normalization in simple English. With real-world examples, you will better understand what normal forms are, why there are different types, and why we need them. Database courses typically teach database normalization and normal forms abstractly. Functional dependencies and normalization problems are defined using letters (e.

Normalization in Relational Databases: First Normal Form (1NF), Second Normal Form (2NF), and Third Normal Form (3NF)

What is database normalization? What are the different normal forms, and what do they do? Find out in this article. Normalization in relational databases is a design process that minimizes data redundancy and avoids update anomalies. Basically, you want each piece of information to be stored exactly once; if the information changes, you only have to update it in one place. The theory of normal forms gives rigorous meaning to these informal concepts.

A Unified View on Database Normal Forms: From the Boyce-Codd Normal Form to the Second Normal Form (2NF, 3NF, BCNF)

Normal forms for relations is a required topic of a database curriculum. Besides avoiding anomalies, which is already a big issue¹, knowing them certainly helps to understand what is going on in your or someone else’s database design. Even if at some point you decide to abandon a normal form, you should know what you are doing and how to pay a price for that. Here, I want to discuss normal forms up to Boyce-Codd Normal Form (that is 2NF, 3NF and BCNF).

Tag: Time zones

The Proper Way to Handle Multiple Time Zones in MySQL

In this article, I’ll walk you through some fundamental considerations for working with date- and time-related data in MySQL. We’ll also look at how to handle multiple time zones and daylight saving time changes. Let’s first address some core concepts that will help us understand the underlying complexity of time-related data. It is important to notice that these concepts apply when representing a point in time rather than an absolute duration.

Tag: Tip

Top 12 Database Design Principles in 2023

A well-designed data model must support database integrity, performance, scalability, and security. To achieve these qualities, pay attention to the top 12 database design principles explained in this guide. Database design principles are essential to creating efficient, reliable, and scalable databases. A database created following these fundamental design principles ensures that its data will be stored in it in an organized and structured manner. It will facilitate database administration and allow users to obtain accurate results.

Top 15 Database Modeling Tips for 2021

Here are 15 simple tips that will guarantee the quality of your database model! Prior to the emergence of NoSQL databases, data modeling had followed a standard norm. However, with the hybridization of storage models and especially with the integration among them, it has become necessary to consider NoSQL databases in systems that use relational databases. This article covers 15 tips for modeling databases in 2021 (the database modeling tool used in this article is Vertabelo).

Common ER Diagram Mistakes

Get to know the ER (Entity Relationship) diagram, its parts, and what often goes wrong when creating it. Have you ever created a relational database model? Or maybe you're trying to create your first one? You know (or you'll soon find out) that translating real-world problems to database logic can sometimes be quite difficult. One of the tools that might help you is the ER diagram. Common database design wisdom holds that the better your ER diagram, the easier it will be to build the database model.

The 9 Most Common Database Design Errors

You’ve probably made some of these mistakes when you were starting your database design career. Maybe you’re still making them, or you’ll make some in the future. We can’t go back in time and help you undo your errors, but we can save you from some future (or present) headaches. Reading this article might save you many hours spent fixing design and code problems, so let’s dive in. I’ve split the list of errors into two main groups: those that are non-technical in nature and those that are strictly technical.

Using Vertabelo’s SQL Script Editor

Vertabelo’s new SQL Script tool lets you write and save SQL scripts and run them against a connected database. Creating an SQL Script Start by clicking on the Create Document button. It’s the first one on the main toolbar. The New Document window appears. Now select SQL script and click on the Create button. The New SQL script window will be displayed. Name your script using the Name field and click the CREATE button.

A Smart Way to Build Skills – An E-Learning Portal Data Model

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.

The Proper Way to Handle Multiple Time Zones in MySQL

In this article, I’ll walk you through some fundamental considerations for working with date- and time-related data in MySQL. We’ll also look at how to handle multiple time zones and daylight saving time changes. Let’s first address some core concepts that will help us understand the underlying complexity of time-related data. It is important to notice that these concepts apply when representing a point in time rather than an absolute duration.

Does Evolving Contact Information Mean Changing Your Database?

There are a number of ways to contact someone these days, right? We have various phones: mobile and landline, personal and work. We have different addresses – residential, mailing, billing, business, etc. – and likely several email addresses, too. Don’t forget Skype and various messaging apps. Now add in LinkedIn and Facebook –which by the way, both have their own messaging elements. Not that long ago, many of these didn’t exist.

Five Common Dimensional Modeling Mistakes and How to Solve Them

When designing your dimensional model, it is worthwhile to watch out for mistakes that commonly occur during the process. Specifically, they can occur in the relationships between tables, both in fact-to-dimension and dimension-to-dimension relationships. In this post, we’re going to take a closer look at five common modeling mistakes and what you can do about them. As you start a BI-related project, bulletproof dimensional design is hugely important. What makes a design bulletproof is the early mitigation of common design mistakes.

Party Relationship Pattern. How to Model Relationships

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.

Flexible and Manageable Bill of Materials (BOM) Designs

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.

Database Modeling Tips

When you were learning database concepts, data modeling looked pretty easy, didn’t it? You knew all the rules, and modeling seemed like a game: get a challenge, do your best, and eventually solve it. Job well done! Moving up to the next level – and so on. As you continue, though, you’ll see that database modeling is also an art. Many cases require a totally new approach. Everything can be done ‘by the book’, but sometimes you get better results when you go less orthodox.

Identifying the Bill of Materials (BOM) Structure in Databases

The bill of materials (BOM) design pattern is deceptively simple, yet incredibly powerful. Historically, it’s been employed to model product structures, but the pattern can be used to do much more than simply define a hierarchy. This article will introduce three very different examples to help you to recognize the pattern in your own projects. What Is a Bill of Materials, or BOM? A bill of materials has its roots in manufacturing.

Beverly Hills 90210 and ZIP+4: Handling Addresses in Data Models

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.

7 Key Things to Remember About Data Model Globalization

Very few database authors mention the challenges of globalization and localization in any meaningful way. There’s a similar lack of foresight from database architects. The fact is that many authors and designers are frequently very ‘self-centric’: they create (or write about) data models that only properly handle their local time zones, addresses, etc. A self-centric approach has a big problem: the resulting model will only support local data. In today’s Internet-fueled world, applications are often unexpectedly accessed by users around the globe.

Denormalization: When, Why, and How

Databases are designed in different ways. Most of the time we can use “school examples”: normalize the database and everything will work just fine. But there are situations that will require another approach. We can remove references to gain more flexibility. But what if we have to improve performance when everything was done by the book? In that case, denormalization is a technique that we should consider. In this article, we’ll discuss the benefits and disadvantages of denormalization and what situations may warrant it.

13 Blog Articles on Database Design Best Practices and Tips

There’s a lot to keep in mind when you’re designing a database, and very few of us can remember every valuable tip and trick we’ve learned. So, let’s take a look at some online resources that feature database design tips and best practices. As we go, I’ll share my own opinions on the ideas presented, based on my experience in database design. Obviously, this article is not an exhaustive list, but I’ve tried to review and comment on a cross section of sources.

19 Online Resources for Learning About Database Design Errors

We all make mistakes, and we can all learn from other people’s mistakes. In this post, we’ll take a look at numerous online resources for avoiding poor database design that can lead to many problems and cost both time and money. And in an upcoming article, we’ll tell you where to find tips and best practices. Database Design Errors and Mistakes to Avoid There are numerous online resources to help database designers avoid common errors and mistakes.

Tip #24 – How to name a version of the model

Vertabelo offers you a feature to assign tags to particular versions of your model. It may be used, for example, to match the versions of your database model with the versions of your application. To assign a tag to the current version of the model, click three dots next to your model name if you are working on a diagram and then click Set tag: Enter a tag name and click Set tag.

Tip #23 – How to create a reference to an alternate key

Sometimes, you want the reference between two tables to reference an alternate key and not the primary key. Here's how you can do it in Vertabelo. In this example, we want to model cars and their owners using owner and car tables. The car table has an alternate key consisting of the vin column: We want the owner table to refer to the car table, but using the car table’s alternate key.

Tip #22 – How to identify problems with my model

Vertabelo has a built-in mechanism of live validation that checks your model all the time and gives you hints on how to improve it. Every error, warning or tip is flagged by a dedicated icon that you cannot fail to notice. Within your workspace, the problems are indicated in two places. In the left panel you can review all problems found in your model, while on the right side you’ve got information on problems detected in the currently selected object only.

Tip #21 – How to quickly find a table in a diagram

Do you know the quickest way to find a single table even in the largest diagram you can imagine? The answer is to double click the table’s name in the navigation tree! In the Model structure panel on the left, you’ve got a navigation tree with groups of all elements used in your diagram, including database objects such as tables, references and views, as well as other subsidiary elements like subject areas and text notes.

Tip #20 – How to configure Vertabelo printouts

Sometimes you may want to export your database model to a PDF file, especially for documentation purposes. It often happens that your diagram is larger than the default page size set in Vertabelo. If that's the case, you should configure the printout options in the Format section. Make sure that no element in your diagram is selected. Go to the Model properties panel on the right and expand the Format section which provides some basic formatting parameters.

Tip #19 – How to automatically download SQL script from Vertabelo

If you need to automatically download SQL script from Vertabelo, for example, for the purposes of your build system, you definitely should check out our Vertabelo API. It allows you to download an SQL or XML of your model by a simple HTTP request. In the command line, it may look like this: VERTABELO_API_TOKEN=put-your-api-token-here MODEL_ID=put-your-model-identifier-here curl -u $VERTABELO_API_TOKEN: \ https://my.vertabelo.com/api/sql/$MODEL_ID create-database.sql To learn more about Vertabelo API, go here.

Tip #18 - Display all references between two tables

In our previous Tip #16 and Tip #17 you could have learned that using table shortcuts makes it easier to create a well-laid-out database model. Do you know that references between shortcuts may be shown in the diagram too? Let’s go back to our example from Tip #16. Assume that we have already created all necessary subject areas. Now, we want to put shortcuts of all purchase-related elements in the Purchase subject area.

Tip #17 – Drag a table from the navigation tree and drop it in your diagram to create a shortcut

In our previous Tip #16, we showed you how to create shortcut tables using copy and paste. But did you know that you can create a shortcut of a table with only one move of your mouse? Just find the table in the navigation tree and then drag and drop it in the desired place in your diagram. Let’s assume that you want to create a reference line between two tables that are located quite far away from each other in your database diagram:

Tip #16 – Can I put the same table in the diagram twice?

Yes, you can! Shortcuts combined with subject areas might completely change your approach to database modeling. They allow you to make your diagram much more structured, logically divided and readable. Let’s look at an example. At the beginning, we have a really standard database model for a shop. Open your database model in Vertabelo: Now, we’re going to use subject areas in the model. To start, let’s put the whole model in a subject area:

Tip #15 – How to visually group tables and organize large database models using subject areas

Large models often happen to be quite messy. Using subject areas, you can improve the readability of your model and make it easier to work with. The idea behind subject areas is to group tables inside them according to their purposes – it allows you to create some logical structure in your model and makes navigation through it more natural. Open your database model in Vertabelo: To create a subject area, choose Add new area from the toolbox or press 7 on your keyboard:

Tip #14 – How to create a model preview link and embed the model in a website

When it comes to sharing things like documents or photos with other people, sending files to each other is becoming less and less common – we usually prefer to send links. They are quick, convenient and neither use up disk space nor make a mess in our file system. At Vertabelo, we know how inconvenient it can be to send files and that’s why we created public links for models.

Tip #13 – How to export selected tables as an image

Probably you have already generated an image for your model, but did you know that the image may be generated for chosen elements only? Open your database model in Vertabelo: Select the desired objects with Ctrl + Click or using Select area from the toolbox: Click Export model to image in the top toolbar: Select image file type, click Selection and then Generate:

Tip #12 – The quickest possible way to create a new column

From our previous Tip #2 you could learn how to move between columns in your table using just arrow keys. Now, we will show you how to use the Down arrow to create one or even more new columns. Probably, this is the fastest way of creating new columns in this part of the galaxy. You really have to learn this. Open your database model and select the table in which you want to create a new column.

Tip #11 – Vertabelo reports that my data type is not supported. What can I do?

Sometimes you may want to use a data type that is so new that Vertabelo doesn’t recognize it. In such cases, the application displays a warning that the data type is not supported. If you find these warnings too distracting, you can turn them off. In this post, we will show you how to do it. Let’s take a look at the following example. Assume that you have a database model for SQLite 3.

Tip #10 - How to use a data type that is not listed in the data types panel

This one is frequently asked on our support: “In the data types panel, I can’t find the data type I need. Does this mean I cannot use it in Vertabelo?” Of course, you can. Vertabelo will never let you get stuck in a data type dead end. Even if the type you need is not listed, it doesn’t mean you cannot use it. Data types you can find under the button are just the most popular ones.

Tip #9 – How to create multiple references between two tables

Relationships in the real world may not be as easy as we would like them to be. Sometimes we want to model a situation where one table is refering to the other more than once. Luckily, with Vertabelo, this is a piece of cake. Let’s say we want to model a rental agreement between two people: landlord and tenant. In this situation, the rental_agreement table would need to refer to the person table twice – first for the landlord and second for the tenant.

Tip #8 – Setting Your Own Names for Primary Key

Sometimes the naming convention you use requires a specific pattern for the primary keys’ names. That’s why you may want to set your own names for each primary key in your database model instead of using default ones. Go on reading to get to know how to do this in Vertabelo. To give your own name to a primary key, select the table that contains the primary key you want to name:

Tip #7 – How to include comments in SQL script

You can comment on your database objects (tables, columns, views) in Vertabelo. You can also include this metadata in your database, where it can be accessed by your SQL developers or DBAs. Here’s how you can do it. Go to your database model: Click SQL generation settings in the Model properties panel on the right: Check the Include comments for database objects option: Let’s try out how it works.

Tip #6 – How to Create a Multicolumn Primary Key

Primary keys may contain more than one column. Multicolumn primary keys are frequently used for junction tables, which are used to model many-to-many relationships. Select a table: In the Table properties panel on the right, check all the columns that you want inside the key: Now, you have a multicolumn primary key created: You can check out your SQL code by clicking the SQL preview button in the top right corner:

Tip #5 – How to quote table names in generated SQL script

Sometimes, you want all identifiers in your SQL script to be quoted. For example, you want them to have a particular case. Luckily, Vertabelo allows you to quote all SQL identifiers in your generated script to prevent you from any SQL name conflicts. Go to your model: Click the SQL generation settings tab in the Model properties panel on the right: Check Quote all SQL identifiers:

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

Tip #3 - How to copy table between models

Did you know that you can copy tables between models in Vertabelo? It’s useful for instance with tables that appear in almost every database model like user_account, address, client or product, or with tables that are specific for your domain. You don’t have to create all these tables from scratch. Open the model which contains the tables you want to copy and click to select them. Note that you can hold down the Ctrl key if you want to select objects located in different parts of your model:

Tip #2 - Keyboard shortcuts in Vertabelo

Would you like to make your database modeling faster and more convenient? Of course you would! One way to achieve this is to learn your database modeling tool’s keyboard shortcuts. To check them when working in Vertabelo, press Ctrl + I. They can be grouped into several categories/tabs. Our favourite Vertabelo shortcuts Down arrow in the Columns section Did you know that you can move between columns in your table using arrow keys?

Tip #1 - How to move column up or down

Have you ever changed your mind about the order of columns in your table? You probably have! Fortunately, changing the order of columns in Vertabelo is as easy as pie. Select the table that contains the column you want to move up or down. In Table properties on the right, you can see a list of the columns. On the left of each column’s name, there is a column selector:

Vertabelo Advent Calendar

From today until Christmas Eve, we’re going to publish some tips & tricks for Vertabelo. Check our blog every day for a new one! List of all available tips: How to move a column up or down Use keyboard shortcuts in Vertabelo! How to copy tables between models How to make a column unique How to quote table names in generated SQL script How to create a multicolumn primary key How to include comments in SQL script How to name a primary key How to create multiple references between two tables How to use a data type that isn’t listed in the data types panel Vertabelo reports that my data type is not supported.

Naming Conventions in Database Modeling

What’s In A Name? The Database Edition Database models require that objects be named. While several facets of naming an object deserve consideration, in this article we’ll focus on the most important one: defining a convention and sticking to it. Why Use Naming Conventions? Look at the database model below. I went a bit overboard and removed as many traces of a naming convention as I could. This proves my first point: a naming convention is an important part of a well-built data model.

Database Model for a Messaging System

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.

Modeling a Database for Recording Sales. Part 1

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.

Tips for Better Database Design

Over the years, working as a data modeler and database architect, I have noticed that there are a couple rules that should be followed during data modeling and development. Here I describe some tips in the hope that they might help you. I have listed the tips in the order that they occur during the project lifecycle rather than listing them by importance or by how common they are.

Email Confirmation and Recovering Passwords

Modern applications have plenty of authentication features beside registration and login. In this article we will take a look at how to design the database for two such features: email confirmation and password recovery. Email Confirmation What Is It? Most people familiar with the Internet know what an activation email is. An activation email is sent to the user after he or she registers for an account on a website or web application and contains a link that will allow the user into the system.

7 Common Database Design Errors

Why Talk About Errors? Model Setup 1 – Using Invalid Names 2 – Insufficient Column Width 3 – Not Indexing Properly 4 – Not Considering Possible Volume or Traffic 5 – Ignoring Time Zones 6 – Missing Audit Trail 7 – Ignoring Collation Why Talk About Errors? The art of designing a good database is like swimming. It is relatively easy to start and difficult to master.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

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.

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.

How to Color ERD Diagrams in Vertabelo

If you’ve ever had to design a database model with hundreds of tables, views and references, you know very well how difficult is to make such huge diagram readable and comprehensible. One of the possible solutions is to use some colors to distinguish different groups of tables or subject areas. See how Vertabelo allows you to do this quick and easy. To illustrate how you can color your entity relationship diagram to increase its readability, we will use a sample uncolored database model for a simple online store:

A Database Model for an Online Survey. Part 1

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).

5 Steps for an Effective Database Model

Database design is the process of producing a detailed model of a database. This model contains the necessary logical (table names, column names) and physical (column datatypes, foreign keys) choices to translate the design into a data definition language (aka SQL), which can be used to create the actual physical database. When I need to create the design for a new database, in other words, the data layer for an application, I follow a few mental steps that I think can help others when they need to go through the same process.

How to Store Employees’ Schedules in a Database

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:

How Do You Make Your Database Speak Many Languages?

The Scenario You are the owner of an online store, located in Poland. The majority of your customers are from Poland and they speak Polish. But you want to sell your products abroad too and your international customers mainly speak English. So you want your online store to be available in both Polish and English. You also expect that your products will sell well in France, so you anticipate that you’ll have to prepare a French version of the store as well (and maybe Spanish too, because why not?

Now You Can Print a Diagram

We hadn’t planned on adding a feature to print diagrams. Our original idea was that Vertabelo would supersede paper diagrams. Nevertheless, some of our users pointed out that they rely heavily on printouts (Export to PDF topic). So, I’d like to announce a new feature called “Export to PDF” also known as “Printing.” Note that exporting a database model to a PDF file is available for Premium and Team account plans only (see the comparison of the plans’ features in our Pricing).

Designing a Database: Should a Primary Key Be Natural or Surrogate?

Suppose we design a database. We’ve created some tables, each one has a few columns. Now we need to choose columns to be primary keys (PK) and make references between tables. And here some inexperienced designers face the dilemma – should a primary key be natural or surrogate? There’s one and only one answer to that question: it depends. If anyone ever tried to convince you that you should have only natural keys or only surrogate keys, just smile :)

Database Design 101: Database Model for an Online Store

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.

Good news: we now support views

Today we are happy to announce that Vertabelo has a new feature we've been working on for some time – views. Now you can easily add them to the diagram, change their definition and other properties and have them generated in your SQL scripts. Quick overview of views Let's take a look at how simple it is to create a new view in our editor. Our goal is to make a view which joins three tables as follows:

Tag: Transactions

An Online Auction Data Model

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.

Tag: Tutorial

A look at algorithms used in RDBMS implementations of DWH systems

When you’re using a data warehouse, some actions get repeated over and over. We will take a look at four common algorithms used to deal with these situations. Most DWH (data warehouse) systems today are on a RDBMS (relational database management system) platform. These databases (Oracle, DB2, or Microsoft SQL Server) are widely used, easy to work with, and mature – a very important thing to bear in mind when choosing a platform.

A Database Model for a MOOC Platform

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).

A Database Model for a Taxi Service

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.

Again and Again! Managing Recurring Events In a Data Model

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.

Serving Delicious Food (and Data) – A Data Model for Restaurants

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.

Viewing Holidays With Data Modeler’s Eyes

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.

Creating a Data Model for Carpooling

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.

Problem Set 2 – Identifying Entities and Attributes

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities and attributes. Here is the second installment of our problem set. Enjoy. Problem 1: Countries Description: Find the right entities and their attributes to represent all the countries in the world, their interior regions (which can be called states, provinces, or regions) and their cities.

Renting out Cars Is as Simple as Driving: A Data Model for a Car Rental Company

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.

Problem Set 1 – Identifying Entities

function toggleDiv(id) { $("#hide-show-div-" + id).toggle(); var button = $("#hide-show-button-" + id); var label = button.prop('value'); if (label == 'Hide Solution') { button.prop("value", "Show Solution"); } else { button.prop("value", "Hide Solution"); } } In an earlier article on data modeling we promised to give you a set of exercises to practice finding entities. Well, here they are. Have fun! Problem 1: Language School Mr. Trotter, the proprietor of a rapidly-growing language school, wants to introduce a new system in his company.

Database Modeling

I wrote a song about dental floss but did anyone’s teeth get cleaner? Frank Zappa When we think of the dental office, our first associations are the drill, the pain, and the fear. OK, that sounds bad. Besides taking care of teeth, a dentist has many other obligations that are professional, legal, or both. All of them require proper data management. To meet this documentation requirement, many dental and medical offices use paper records.

How Does Database Design Help Organize Teachers, Lessons, and Students?

An investment in knowledge pays the best interest. Benjamin Franklin In the modern world, education is omnipresent. Now more than ever before, it plays an important role in our society. It’s so important, in fact, that many of us continue our education well after finishing school or college. We have all heard of lifelong learning, non-formal education, and workshops for all ages. These methods differ from formal education in many ways, but they also have things in common.

Database Modeling Course (2)

You’re finally ready to get down to real data modeling. We’ll start off with entities and their attributes. Entities are the basic building block of every data model. In this post, you’ll find out what they are and how to identify them. What Is an Entity? What is a Specific Instance of an Entity? Data models help us to identify what kind of information we’ll store in our system. We use such models to address the question What will the data in our system be about?

Vertabelo Advent Calendar

From today until Christmas Eve, we’re going to publish some tips & tricks for Vertabelo. Check our blog every day for a new one! List of all available tips: How to move a column up or down Use keyboard shortcuts in Vertabelo! How to copy tables between models How to make a column unique How to quote table names in generated SQL script How to create a multicolumn primary key How to include comments in SQL script How to name a primary key How to create multiple references between two tables How to use a data type that isn’t listed in the data types panel Vertabelo reports that my data type is not supported.

Database Model for a Messaging System

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.

Database Modeling Course (1)

Data modeling is an essential step in the process of creating any complex software. It helps developers understand the domain and organize their work accordingly. In this article, which begins a new series devoted to database modeling, we’ll try to convince you why you should include it in your projects and what it looks like. Do I Really Need Data Modeling? As a novice developer, you often start your programming adventure with simple applications like the sieve of Eratosthenes or enumerating the Fibonacci sequence.

Modeling a Database for Recording Sales. Part 1

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.

Tackling Your Troubles – Building a Bug and Problem Database

Death and taxes – add “software problems” to that list of the inevitable. There is always a new issue, a new failure, a new key opportunity that an organization must address. And to avoid repeating the problems, or to revise your prior fixes, it is critical to capture the problems accurately and completely. You need a history of what happened and when. In this piece, we create the logical model for a problem or “bug” reporting system.

Defining Identifying and Non-Identifying Relationships in Vertabelo

Various data modeling tools allow modelers to define relationships in a data-model as identifying or non-identifying. We can define a relationship as identifying or non-identifying in Vertabelo as well. This article will explain the way to do so. Introduction Before moving ahead with the article, I’d like to explain what identifying or non-identifying mean. Let’s take a real time example of a book storing system. In the system, a book belongs to an owner, and an owner can own multiple books.

Database Model for a Driving School’s Reservation System. Part 2

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.

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.

Designing a Data Model for a Hotel Room Booking System

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.

Database Model for a Driving School’s Reservation System. Part 1

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.

How to Design a Database Model for a Movie Theater Reservation System

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.

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.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

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.

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.

New Features in Vertabelo Released in April 2015

Tell us what you want! If you have your own ideas for new features or you think that something could be improved in our application, do not hesitate to share your opinion. Send your suggestions to us via our Support Service. There, you can upvote or downvote new feature requests placed by other users. That way, you can have a significant impact on the development of our application. Go to Vertabelo's Support Service »

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.

Designing & Deploying a PostgreSQL Database in the Cloud

Our users sometimes say to us: “Vertabelo is awesome but... how can I add the data?” Oh, come on! Vertabelo is not a database engine or a database administration tool. At least not at the moment. For now, Vertabelo is intended mainly to design database models. This doesn't mean that we don’t care about what you can do next with models created in our application. Of course, we do! That’s why we provide our users with some useful tools on our website and in our GitHub repository.

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.

A Database Model for an Online Survey. Part 1

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).

Modeling a Basic Data Structure to Manage Users, Threads, and Posts

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”.

Now You Can Print a Diagram

We hadn’t planned on adding a feature to print diagrams. Our original idea was that Vertabelo would supersede paper diagrams. Nevertheless, some of our users pointed out that they rely heavily on printouts (Export to PDF topic). So, I’d like to announce a new feature called “Export to PDF” also known as “Printing.” Note that exporting a database model to a PDF file is available for Premium and Team account plans only (see the comparison of the plans’ features in our Pricing).

Database Design 101: How to Start Creating a Database Model

In this video you will learn how to start creating your database model. You will find out why nouns are important and how you should handle them when creating a database model. If you want to learn more, read our beginner tutorial on how to create a database model. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.

How to Create a Database Model From Scratch

So you want to create your first database model but you don’t know how to start? Read on! I assume you already know a little about tables, columns, and relationships. If you don’t, watch our video tutorials before you continue. Start With a System Description You should always start creating a database model with a description of a system. In a classroom situation, a system description is given to you by a teacher.

Database Design 101: References

In this video tutorial you will learn about references – how to create a relationship between the tables, how it affects their structure, and how it looks in the data. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Tables, Columns, and Data Types

Vertabelo presents part 2 of our Database Design 101 series that brings you easy-to-understand introduction to databases. This time we will focus on table columns and most commonly used data types. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: What is a Database

Welcome to our new Database Design 101 series that brings you an easy-to-understand introduction to databases. Let’s begin with answering the question what a database is and how data is stored in databases. iframe.video-plugin { width: 735px; height: 415px; border: 0px solid #CCC; margin: 0px; } @media all and (max-width: 767px) { iframe.video-plugin { width: 250px; height: 141px; } }

Database Design 101: Database Model for an Online Store

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.

Tag: Unique key

How to Define a UNIQUE Key in Vertabelo

Among the many database constraints available to us, the UNIQUE key constraint ensures the uniqueness of data in a column or a set of columns. Read on to find out more about the UNIQUE key constraint and how to define it in Vertabelo. In this article, we’ll focus on the UNIQUE key constraint. We’ll start with its basic definition and usage and gradually build up to more advanced options. Also, we’ll jump into Vertabelo and create an ER diagram that uses the UNIQUE key constraint.

Tip #4 – How to Make a Column Unique

Sometimes there are columns in a table that don’t belong to primary key, but are still unique. To mark them as a unique, you have to create an alternate (unique) key containing it. Single-column alternate (unique) key Select the table with the column you want to make a unique. Then, click the Alternate (unique) key tab in the Table properties panel on the right: Click Add key:

Tag: Vertabelo api

New Vertabelo Feature: Document-Oriented Vertabelo API

Updated on: November 17, 2023 One of the signs of a decent SaaS solution is its public API. A good API helps users to incorporate some automation into an application. Based on our experience in using other SaaS services, we have introduced a more document-oriented version of our public API. In this article, we will demonstrate how to use Vertabelo API to fetch a list of documents (models), SQL scripts, and data models in various formats.

Tip #19 – How to automatically download SQL script from Vertabelo

If you need to automatically download SQL script from Vertabelo, for example, for the purposes of your build system, you definitely should check out our Vertabelo API. It allows you to download an SQL or XML of your model by a simple HTTP request. In the command line, it may look like this: VERTABELO_API_TOKEN=put-your-api-token-here MODEL_ID=put-your-model-identifier-here curl -u $VERTABELO_API_TOKEN: \ https://my.vertabelo.com/api/sql/$MODEL_ID create-database.sql To learn more about Vertabelo API, go here.

Tag: Vertabelo feature

What Are Document Types in Vertabelo?

Create logical data model documents, physical data model documents, and SQL script documents using Vertabelo. Vertabelo allows you to create and import your models with three different types of documents. This article takes you through all three Vertabelo document types: the logical data model, the physical data model, and the SQL script. These documents let you start modeling from scratch or import your existing progress into Vertabelo. The different representations of the same data model help a variety of people understand the model.

How to Add a Table to Your ER Diagram in Vertabelo

Find out how to add a table to your ER Diagram in Vertabelo. A table in a database is where some data about something is stored and organized logically in rows and columns. The columns in a table represent data and its types. For instance, a database for an e-commerce website would likely have a client table where data about each client is stored. It will very likely have a name column of type string.

Database Sequences and How to Define Them in Vertabelo

All rows in a database need to have a unique identifier. But what if you need to have unique identifiers for all of the rows in all of your tables? We know GUIDs are problematic when indexing, so what other options are there? A database sequence might be a great option.   What Is a Database Sequence? A database sequence is a type of object created in a database that allows developers to generate unique values.

Constraints in PostgreSQL and How to Model Them in Vertabelo

Database constraints allow you to give a certain shape to your data, tables, and columns. Are you planning to use PostgreSQL as your database? Check out what PostgreSQL constraints can do! In this article, we will go over PostgreSQL’s database constraints and see how to model them in Vertabelo. For each of the constraints, I’ll provide: A definition of the constraint. A usage example. Instructions on how to model the constraint in Vertabelo.

Vertabelo Feature: Live Model Validation

A data model is more than just a pretty drawing that impresses users and stakeholders. When you add model validation to the design process, your data model can save you many hours of database-related work. When you design a data model, your ultimate goal is for the model to become a functional database. However, your model is basically a drawing, while the database is a not-so-flexible structure that holds information.

How to Import an Existing Database into Vertabelo

Find out how to easily import an existing database into the Vertabelo data modeler. If you're reading this article, you probably know you need to import your database into Vertabelo. Or maybe you’re wondering if you should do it. Here are some reasons that can convince you if you’re hesitating. And we’ll also explain how to import a database into Vertabelo. Why Import an Existing Database into Vertabelo? 1. You'd like to analyze the database structure.

Tag: Vertabelo features

New Vertabelo Feature: Document-Oriented Vertabelo API

Updated on: November 17, 2023 One of the signs of a decent SaaS solution is its public API. A good API helps users to incorporate some automation into an application. Based on our experience in using other SaaS services, we have introduced a more document-oriented version of our public API. In this article, we will demonstrate how to use Vertabelo API to fetch a list of documents (models), SQL scripts, and data models in various formats.

Manage Database Model Changes Easily With the New Model Explorer in Vertabelo

Learn about Model Explorer, a new feature in Vertabelo Database Modeler. Have you noticed that a new feature has been introduced to Vertabelo Database Designer? In this article, we take a deep dive into Model Explorer, an innovative way of managing your database models. In short, Model Explorer allows for a comprehensive overview of the model and bulk editing of multiple elements at once. At this time, the functionality is available only for the physical model, but in the future, it will also be implemented in the logical model.

How to Put Tables in a Vertabelo Data Model Into a Particular Schema

There is more to a database structure than just tables. Tables are logically divided into groups and stored in database schemas. Read along to find out how to include schemas in your ER diagram using Vertabelo. A database consists of one or more database schemas, and a database schema consists of one or more tables. A good data modeling tool helps you set them all up. In this article, you’ll see how to create database schemas in Vertabelo and assign tables to them.

4 Tips for Troubleshooting DDL Import in Vertabelo

Read these troubleshooting tips before using the DDL import option to generate data models in Vertabelo. Avoid running into potential errors that waste your valuable designing time. Few data modeling tasks start from a blank sheet of paper. More often, we work on a pre-existing database. You don't want to draw an ERD of an existing database from scratch. But I don’t have to tell you that. This task is much simpler and infinitely faster with a modeling tool that can load the database structure using a DDL import feature.

Vertabelo Database Designer: The New UI Design and UX Improvement, Part I

Have you already noticed the Vertabelo Database Modeler has a new look now? The entire graphic design changed significantly at the end of January. Over the past few years, we have been observing how the previous interface worked and paying great attention to the experience of our users. Equipped with the knowledge we have gathered, we developed a completely new graphic design of our ERD tool and implemented several ergonomic improvements to individual functional elements.

Vertabelo’s Document Structure: How Documents and Models Are Organized

Make data modeling even easier by understanding Vertabelo’s document structure and how the program organizes documents and models. To feel comfortable when modeling data, you must be familiar with your data modeling tool. In this case, it’s Vertabelo. For starters, it’s important that you know how the main structure of documents works and what it looks like in Vertabelo. This includes knowing what types of documents are available, how they can be organized, and the purpose of every folder.

Working With Vertabelo Editor Features

Vertabelo lets you be productive in data modeling by providing a good view of the entire data model. For situations when the screen real estate is not sufficient or just not enough to see the entire data model, the Vertabelo editor features adjustable UI elements to help you no matter what screen size you use. Whether you’re a seasoned database designer/architect or you’re just beginning, your tool belt has a data modeling tool.

How to Automatically Generate Primary Key Values Using Vertabelo’s Auto-Generation Features

Learn how to set up automatically-generating primary key values in SQL, and then see how to use Vertabelo to apply auto-generation to popular database management systems. The primary key is a fundamental concept in relational databases. This article will discuss several ways to make an auto-generating primary key in SQL. We’ll also cover how to implement auto-generation in the Vertabelo data modeler. Understanding Primary Keys In relational databases,  a primary key constraint specifies that the value stored in that column must be unique across all records in the table.

How to Define a UNIQUE Key in Vertabelo

Among the many database constraints available to us, the UNIQUE key constraint ensures the uniqueness of data in a column or a set of columns. Read on to find out more about the UNIQUE key constraint and how to define it in Vertabelo. In this article, we’ll focus on the UNIQUE key constraint. We’ll start with its basic definition and usage and gradually build up to more advanced options. Also, we’ll jump into Vertabelo and create an ER diagram that uses the UNIQUE key constraint.

How to Collaborate Effectively in Vertabelo

Learn how to use Vertabelo's features to collaborate effectively on database models and documents. In the post-pandemic world, effective collaboration on database modeling is of the essence. Database developers and data modelers must work together on developing data models and writing SQL queries, functions, procedures, and more. Every substrate of software engineering is becoming more collaborative by the day, and database development is no different. Teams cannot function properly to deliver results if they are not using the right tools.

Vertabelo Editor Features That Make It Easier to Work on a Small Screen

Working on a small screen is quite different than working on a desktop with lots of screen real estate. Read on to find out how Vertabelo editor features simplify working on a small screen. Vertabelo provides you with features that make working on a small screen effective and seamless. These include showing and hiding items or panels, zooming in and out, or searching for specific objects. In this article, we’ll go through the features available in the main working areas of Vertabelo.

How to Add References to ER Diagrams in Vertabelo

Adding references to your data model is essential to maintaining clarity. A Quick and Easy Introduction to Entity Relationships In data modeling, defining relationships between tables/entities entails using a certain notation to indicate the cardinality between them. This applies to both logical and physical data models. Cardinality refers to how many instances of one entity are related to the other entity. For example, a database that keeps track of orders on an e-commerce website likely has customer and order entities.

How to Share Your Vertabelo Model

Sharing is a good habit. The guys at Vertabelo know this, so they have made a big effort to make sharing database models with your clients very easy. True story: there was a time in my life when, in order to show a data model to a client, I had to print it on several sheets of paper. Then – using scissors, tape, and a fair amount of manual dexterity – I had to compose it into a sort of poster that would allow me to display all of its details.

Vertabelo Feature: Google BigQuery Support

Cloud databases are becoming more and more popular. That’s why Vertabelo has added support for Google BigQuery, one of the most popular cloud databases. BigQuery is an enterprise data warehouse that enables the storing and very fast processing of huge data sets. It can be useful in data analytics, machine learning, and other areas. If you’re working with multiple Cloud databases, check out our articles on Amazon Redshift and how to model a Redshift database in Vertabelo.

Vertabelo Feature: Snowflake Support

Vertabelo Feature: Snowflake Support Cloud and analytical databases are very popular and are becoming more important. Snowflake has been one of the most popular feature requests on our support page and a much-anticipated database for Vertabelo support. We are happy to announce that Snowflake databases can now be designed with Vertabelo! In this article, we’ll explain how to create a physical ER diagram for a Snowflake database in Vertabelo. Remember that you can also choose to create a logical ER diagram first and then use that to generate a physical ER diagram.

How to Print Your Vertabelo Database Model

Find out how to format and print your Vertabelo ER diagram. You have successfully designed your ER diagram! Now what? The answer is simple.You’ll probably need to share your design with collaborators and stakeholders. This can be done one of two ways: either you share the link or you print the diagram on paper and share it personally. You are also going to have to keep your database model well documented, so it’s best to save both a virtual and a physical copy.

How to Version Control Your Database with Vertabelo and Git

Find out how to keep track of data model changes in Vertabelo using Git as a source control management tool. In this article we will discuss a possible way to use source control management tools like GIT to track all changes in your Vertabelo data model. We are also going to detail the code-database workflow that we use daily to develop Vertabelo itself as well as our other applications.

Database Constraints: What They Are and How to Define Them in Vertabelo

Database constraints help us keep our data clean and orderly. Let’s look at the most common database constraints and how to conveniently define them in Vertabelo. It’s a common practice to set rules for the data in a database. Thanks to these rules, you can avoid incorrect data in a column, e.g. a text string in an Age column or a NULL in a Name column. In this article, we’ll dive into SQL’s database constraints: PRIMARY KEY, FOREIGN KEY, NOT NULL, UNIQUE, DEFAULT, and CHECK.

Database Design With Vertabelo

Database design goes way beyond just drawing lines and boxes. In this article, I reflect on the process of data modeling with an emphasis on best practices, as well as on how to use tools to implement those best practices to create a good database design. Database design is the process of producing a detailed model of a database. The start of database modeling involves getting a grasp on the business area and the functionality being developed.

Getting Started with ER Diagrams in Vertabelo

Learn how to use Vertabelo’s user-friendly data modeling platform to create your first Entity-Relationship (ER) diagram! If you’ve never used an online ER diagram tool before, you might be a bit lost about where to start. Don't worry; I’ll give you a step-by-step guide to getting started with Vertabelo and creating some basic ERDs (Entity Relationship Diagrams). Vertabelo is an online ER diagramming tool that helps design and visualize databases.

Reverse Engineering With Vertabelo

Learn how to import your database into Vertabelo and generate its data model with our improved reverse engineering feature. We’re excited to announce the release of a new version of our popular reverse engineering tool. You've been asking for a user-friendly interface, and we heard you. If working with Java is not your thing, our new graphical user interface lets you click through the process in no time.  Download the upgraded reverse engineering tool here.

Vertabelo Feature: Amazon Redshift Support in Vertabelo

Find out how to design an Amazon Redshift schema in Vertabelo. Thanks to increasing volumes of data, analytical databases like Amazon Redshift are gaining market. We introduced Redshift support at the end of 2019; in this article, we will explain how to design a Redshift data model using Vertabelo. How to Create a Model Let's start with the data model creation process. To create a Redshift schema, please: Log into Vertabelo and click on Create new document.

Top 7 Entity Relationship (ER) Diagram Online Tools

Are you searching for the best online ER diagram tool? Read on and discover our top picks. Data modeling is one of the most critical parts of a software project. Database architects use ER diagrams (also called ERDs or Entity Relationship Diagrams) as a data modeling technique. Many ER diagram tools are available, but choosing the best tool for your project can be hard. Still, your data model is a key factor in the success of your entire project; it’s important to get it right.

2020 Was Vertabelo Database Modeler’s Year. It’ll Get Even Better in 2021.

2020 is coming to an end. It's been a busy year for us, so let's summarize what we did at Vertabelo. I will also show you how the Vertabelo database modeler will evolve in 2021. This is already a great tool, but it will be even better. See what we plan to do. I am not exaggerating when I say that we had our hands full in 2020. In addition to constantly improving the Vertabelo database modeler and creating new Vertabelo Academy courses, we have launched completely new platforms for learning SQL and Python.

Explaining an ER Diagram, With Steps and Use Cases

Get to know what an ER Diagram is through use cases and examples. Explore the notations for the essential components of an ERD. Entity-relationship diagrams (ERDs) are used to visualize data and relationships among the entities of a system. At its core, an ER Diagram explains the logical structure and the flow of information within a data model. To do so, an entity-relationship diagram highlights entities, attributes, and relationships through predefined symbols for effective visualization of the architecture.

Vertabelo Features: Logical Diagrams

Find out how to create logical data models in Vertabelo! If you have some experience with physical diagrams, this will be as easy as pie. There are three different levels of data models: conceptual, logical, and physical. Of these, the conceptual model is the most abstract, and the logical model has a few more technical details. The physical model has all the details of the physical database, such as data types (integer, decimal, money, varchar, etc.

Using Vertabelo’s SQL Script Editor

Vertabelo’s new SQL Script tool lets you write and save SQL scripts and run them against a connected database. Creating an SQL Script Start by clicking on the Create Document button. It’s the first one on the main toolbar. The New Document window appears. Now select SQL script and click on the Create button. The New SQL script window will be displayed. Name your script using the Name field and click the CREATE button.

Hot: Vertabelo Now Features Migration Script Generation

The long-awaited generation of SQL migration scripts is now a part of Vertabelo! You can use these scripts to easily move from one database model version to another. Read this article to learn more. What are SQL Migration Scripts? An SQL migration script is a script that alters an existing database structure: it can add or drop a table, rename columns, or change column types. A migration script can change a given database from one schema version to another – hence its name.

Generate Your Model Documentation with Vertabelo

Vertabelo has a great new feature: a model documentation auto-generator. You can now create and export documentation for your current model with just a few clicks. Vertabelo has a great new feature: a model documentation auto-generator. You can now create and export documentation for your current model with just a few clicks. Think of how a complex model looks: multiple tables and tens or hundreds of columns where you can easily get lost.

Vertabelo XML Version 2.3

The XML file format for Vertabelo has changed to version 2.3. Read this article to find out what is new. Vertabelo keeps its models in XML format; if you need, you can download the files and extract information from them. Previously, we used XML version 2.1, as discussed in this article. We’ve switched to XML 2.3, and a couple of changes took place. These changes make no difference for most Vertabelo users.

How to Embed Your Database Model Into a Website

Did you know that you can embed your database model in your website? If you haven’t tried this yet, now’s your chance – we’ve recently improved the process. It’s an excellent way to share ideas with readers or make projects available to co-workers. You might have already seen some interactive models embedded in our blog. They look like this: if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "loading";var s=document.createElement("script");s.setAttribute("type","text/javascript");s.setAttribute("src", "

Tip #19 – How to automatically download SQL script from Vertabelo

If you need to automatically download SQL script from Vertabelo, for example, for the purposes of your build system, you definitely should check out our Vertabelo API. It allows you to download an SQL or XML of your model by a simple HTTP request. In the command line, it may look like this: VERTABELO_API_TOKEN=put-your-api-token-here MODEL_ID=put-your-model-identifier-here curl -u $VERTABELO_API_TOKEN: \ https://my.vertabelo.com/api/sql/$MODEL_ID create-database.sql To learn more about Vertabelo API, go here.

Tip #14 – How to create a model preview link and embed the model in a website

When it comes to sharing things like documents or photos with other people, sending files to each other is becoming less and less common – we usually prefer to send links. They are quick, convenient and neither use up disk space nor make a mess in our file system. At Vertabelo, we know how inconvenient it can be to send files and that’s why we created public links for models.

Remote Collaboration on Database Design Just Got Easier

As an SQL consultant, I often work with others to create new database models from scratch or modify existing schemas. Aside from the technical aspects, collaborations on database models can be tricky. Moving from environment to environment poses its own challenges: security restrictions sometimes prevent direct access to SQL instances, and technical resources from across the globe can be difficult to seamlessly integrate. Deterrents these may be, but they are not insurmountable.

Defining Identifying and Non-Identifying Relationships in Vertabelo

Various data modeling tools allow modelers to define relationships in a data-model as identifying or non-identifying. We can define a relationship as identifying or non-identifying in Vertabelo as well. This article will explain the way to do so. Introduction Before moving ahead with the article, I’d like to explain what identifying or non-identifying mean. Let’s take a real time example of a book storing system. In the system, a book belongs to an owner, and an owner can own multiple books.

How to Convert a Data Model Between Two Database Management Systems

Even though Vertabelo doesn’t provide a direct conversion of a data model from one database engine to another, this can be easily done in a few simple steps. The user’s question We’ve been developing a web application for a while. Initially, we wanted to use MySQL for our database but finally we decided to choose Postgres. Unfortunately, the entire data model was created for MySQL. How can we quickly migrate it to the new database type?

New Features in Vertabelo Released in April 2015

Tell us what you want! If you have your own ideas for new features or you think that something could be improved in our application, do not hesitate to share your opinion. Send your suggestions to us via our Support Service. There, you can upvote or downvote new feature requests placed by other users. That way, you can have a significant impact on the development of our application. Go to Vertabelo's Support Service »

Designing & Deploying a PostgreSQL Database in the Cloud

Our users sometimes say to us: “Vertabelo is awesome but... how can I add the data?” Oh, come on! Vertabelo is not a database engine or a database administration tool. At least not at the moment. For now, Vertabelo is intended mainly to design database models. This doesn't mean that we don’t care about what you can do next with models created in our application. Of course, we do! That’s why we provide our users with some useful tools on our website and in our GitHub repository.

How to Color ERD Diagrams in Vertabelo

If you’ve ever had to design a database model with hundreds of tables, views and references, you know very well how difficult is to make such huge diagram readable and comprehensible. One of the possible solutions is to use some colors to distinguish different groups of tables or subject areas. See how Vertabelo allows you to do this quick and easy. To illustrate how you can color your entity relationship diagram to increase its readability, we will use a sample uncolored database model for a simple online store:

How I Use the Vertabelo API With Gradle

What is Gradle? Gradle is an open source build automation system. It can automate the building, testing, publishing, deployment and more of software packages or other types of projects such as generated static websites, generated documentation or indeed anything else. Learn more about what makes Gradle a compelling choice for build automation. One of the exciting moments in a programmer’s life is to leave legacy code behind and have fun with some new, fresh and cool tools.

Data Dictionary Support: Generate Comments for Your Database

Most relational databases allow you to define comments for their tables, columns, views, and so on. These additional pieces of information are called database meta data or data dictionary. Meta data may be useful for developers or other database users. Meta data allow the development team to understand what various tables or columns are for without having to ask database designer what their intentions were. Generating meta data in SQL scripts is one of the most often requested Vertabelo features and it’s finally here.

Now You Can Print a Diagram

We hadn’t planned on adding a feature to print diagrams. Our original idea was that Vertabelo would supersede paper diagrams. Nevertheless, some of our users pointed out that they rely heavily on printouts (Export to PDF topic). So, I’d like to announce a new feature called “Export to PDF” also known as “Printing.” Note that exporting a database model to a PDF file is available for Premium and Team account plans only (see the comparison of the plans’ features in our Pricing).

Vertabelo XML version 2.1

Vertabelo internally stores your model in an XML format. You can download the XML file and use it to extract some information by using a script. Let’s take a look at the structure of this XML file. if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "loading";var s=document.createElement("script");s.setAttribute("type","text/javascript");s.setAttribute("src", "https://my.vertabelo.com/js/public-model/v1/api.js");(document.getElementsByTagName("head")[0] || document.documentElement ).appendChild(s);} Here is the XSD file and an example of the XML file for the above sample database model created in Vertabelo.

How to filter tables in the Vertabelo reverse engineering tool

Sometimes you don't want the reverse engineering tool to extract all of the tables in your database. For example, the database may contain technical tables which are logically are not part of the model. This is when the -regexp option comes in handy. Use the -regexp option and the tool will extract all tables and views with names matching the regular expression. The tool prints the regular expression it uses so you can verify that your shell parsed the expression correctly.

How to import an existing database into Vertabelo: Reverse Engineering

The newest Vertabelo feature is Reverse Engineering: a way to import an existing database into Vertabelo. The Reverse Engineering tool is a simple command-line Java application that you can download from our website. It connects to your database, reads the table and view details and stores the info in an XML file. Import the XML file into your database model and voila - your database is in Vertabelo! How to use the reverse engineering application Download the Reverse Engineering application from our website, then run the Reverse Engineering application.

How to embed a database diagram on the Internet

So I’m sitting here thinking to myself: How should I share a new Vertabelo feature with you? Should I write an over-hyped article full of industry jargon and marketing-speak? Hmmm. Tried and failed. I’ve just gotta show you the feature straight up and how simple it is to use. More meat, little fat, no fluff :). Well tah dah! Here it is: Go ahead, click on it. Use the mouse wheel to zoom.

Good news: we now support views

Today we are happy to announce that Vertabelo has a new feature we've been working on for some time – views. Now you can easily add them to the diagram, change their definition and other properties and have them generated in your SQL scripts. Quick overview of views Let's take a look at how simple it is to create a new view in our editor. Our goal is to make a view which joins three tables as follows:

Five reasons why we built Vertabelo

We are launching a new product on a market, so let me tell you the short story about how and why Vertabelo was born. e-point and I personally have more than fifteen years of experience in building business applications. All of them use relational databases as a storage for their data. Most of those applications are rather big - think about hundreds of tables in a database and hundreds of screens in a UI.

Tag: Vertabelo news

Vertabelo Database Designer: The New UI Design and UX Improvement, Part I

Have you already noticed the Vertabelo Database Modeler has a new look now? The entire graphic design changed significantly at the end of January. Over the past few years, we have been observing how the previous interface worked and paying great attention to the experience of our users. Equipped with the knowledge we have gathered, we developed a completely new graphic design of our ERD tool and implemented several ergonomic improvements to individual functional elements.

2020 Was Vertabelo Database Modeler’s Year. It’ll Get Even Better in 2021.

2020 is coming to an end. It's been a busy year for us, so let's summarize what we did at Vertabelo. I will also show you how the Vertabelo database modeler will evolve in 2021. This is already a great tool, but it will be even better. See what we plan to do. I am not exaggerating when I say that we had our hands full in 2020. In addition to constantly improving the Vertabelo database modeler and creating new Vertabelo Academy courses, we have launched completely new platforms for learning SQL and Python.

Upcoming Changes in Vertabelo Team Account

We listened to your feedback and improved managing Vertabelo team accounts. No more confusing switching back and forth between personal and team accounts. And since Vertabelo is all about modeling, we couldn’t stop ourselves from using database models to explain the upcoming changes. In the next couple of days we will introduce major changes to the way we handle Vertabelo team accounts. After the changes are implemented, each user account will either be a personal account or be a member of a team account.

How do I create a company account ?

If you need many accounts for your employees and don't want to pay for each account separately, create Vertabelo company account. A company account enables model sharing, inviting people, working on a model at the same time, and paying for group of workers. If you already have an individual account, set up a company account. In addition, a company account has all of the features of an individual Premium account (unlimited number of tables/models), extended with: ability to manage users/teams.

How do I pay for a company account after the trial period ends ?

If your 14 days company account trial period is going to end and you want to continue using the company account, there is an easy way to set up a monthly subscription for the appropiate number of users. In the Company menu click on Payments. In the Account plan section, click the Change account plan button. Pick the number of user accounts and enter a promotional coupon code if you have one.

1000 users and growing strong!

It's already been 100 days since we launched Vertabelo and there are already 1000 satisfied Vertabelo users. Thank you for your trust and interaction! What did our journey look like? We had 18 years of experience in building big business applications. We knew that existing tools for designing databases didn't match the demands of the current digital world, so we took up the challenge to create a tool which supports collaboration and distributed teams, has a non-intrusive user interface, and enables you to work from your web browser.

How to use promotional codes?

Here you find how to use our promotional coupon codes to buy our paid services. You can get promotional codes at developer conferences or similar events that we sponsor. If you already have a Vertabelo account go to step 2. 1. Create Vertabelo account If you don't have the Vertabelo account, please go to our simple registration form and fill in it. After clicking Create account button we will send you an email with confirmation link.

Tag: Vertabelo sqlalchemy

Visual Design of SQLAlchemy Models in 6 Steps

In this article I’m going to show you how to design SQLAlchemy models using Vertabelo, an online tool for visual database design, and our code generator. SQLAlchemy is propably the most advanced and well engineered OR/M for Python, while Vertabelo is a database design tool that works in a web browser. The Vertabelo code generator is an pythonic script called vertabelo-sqlalchemy. As you can see, the script is open source and hosted on GitHub.

Tag: Wordpress data model

WordPress – Behind the Scenes, Part 2

In Part 1 of this series, I demonstrated how to install WordPress locally and how to import a WordPress database into Vertabelo. In this article, we’ll take a closer look at the tables in the WordPress database. A Quick Look at the WordPress Database Model and the Dashboard In the previous part, I imported the WordPress database into our online database modeling tool. For the record, the structure of the database is as follows:

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

WordPress Database Finally Unveiled!!!

Sorry for that tabloid title, but I couldn’t resist. I’m going to show you how to view the database design of other people’s systems. It will work for legacy systems as well. Of course, you may call show tables and describe table in the database console but that’s a very rudimentary way to examine the structure. You’ll miss a bird’s eye view of the design which is crucial to understanding a system as a whole.

Tag: Wordpress er diagram

WordPress – Behind the Scenes, Part 2

In Part 1 of this series, I demonstrated how to install WordPress locally and how to import a WordPress database into Vertabelo. In this article, we’ll take a closer look at the tables in the WordPress database. A Quick Look at the WordPress Database Model and the Dashboard In the previous part, I imported the WordPress database into our online database modeling tool. For the record, the structure of the database is as follows:

WordPress – Behind the Scenes, Part 1

How often have you wondered about the structure of an existing database? It could be a 5-year-old legacy system or a brand-new open-source project. Let’s take a look at the ERD diagram of the database behind the most famous content management system: WordPress. What Is WordPress and How Does It Work? WordPress is an open-source CMS (content management system) that was initially released in 2003. It started out as a blogging platform, but it has developed so much that today it can be used for almost anything.

WordPress Database Finally Unveiled!!!

Sorry for that tabloid title, but I couldn’t resist. I’m going to show you how to view the database design of other people’s systems. It will work for legacy systems as well. Of course, you may call show tables and describe table in the database console but that’s a very rudimentary way to examine the structure. You’ll miss a bird’s eye view of the design which is crucial to understanding a system as a whole.

Tag: Xml

Vertabelo XML Version 2.3

The XML file format for Vertabelo has changed to version 2.3. Read this article to find out what is new. Vertabelo keeps its models in XML format; if you need, you can download the files and extract information from them. Previously, we used XML version 2.1, as discussed in this article. We’ve switched to XML 2.3, and a couple of changes took place. These changes make no difference for most Vertabelo users.

Vertabelo XML version 2.1

Vertabelo internally stores your model in an XML format. You can download the XML file and use it to extract some information by using a script. Let’s take a look at the structure of this XML file. if (typeof VertabeloEmbededObject === 'undefined') {var VertabeloEmbededObject = "loading";var s=document.createElement("script");s.setAttribute("type","text/javascript");s.setAttribute("src", "https://my.vertabelo.com/js/public-model/v1/api.js");(document.getElementsByTagName("head")[0] || document.documentElement ).appendChild(s);} Here is the XSD file and an example of the XML file for the above sample database model created in Vertabelo.

Our website uses cookies. By using this website, you agree to their use in accordance with the browser settings. You can modify your browser settings on your own. For more information see our Privacy Policy.