Skip to content

How to Create a Database: Methods, Tools, and Best Practices

Mathias Golombek
· · 14 mins read

Creating a database is the first step in storing and organizing structured data. Whether you are building an analytics platform, developing an application, or setting up a reporting environment, the process starts with defining a logical container for your data.

There are several ways to create a database, depending on the system you use.

In many relational databases, you create a new database using a SQL statement such as CREATE DATABASE. In enterprise analytics platforms such as the Exasol Analytics Engine, the database instance is typically provisioned at the cluster level, and developers organize data by creating schemas within that environment. Cloud services and desktop tools provide their own workflows through management consoles or templates.

This guide explains the main approaches step by step and clarifies how database creation differs across systems.

What Does It Actually Mean to Create a Database?

Creating a database means initializing a structured container where data can be stored, organized, and accessed. The exact process depends on the database system, but the goal is the same: define a logical space that will hold schemas, tables, and other database objects.

Creating a database is only the first step. To make it useful, you need a clear structure for storing and organizing data. Poor design can lead to performance issues, data inconsistencies, and maintenance problems. Understanding foundational database models helps clarify how data relationships, schemas, and logical structures are defined.

Database vs. Table vs. Schema

These terms are often used interchangeably, but they represent different layers of structure:

  • Database: The top-level container that holds schemas and objects.
  • Schema: A logical namespace within a database that organizes tables, views, and other objects.
  • Table: A structured collection of rows and columns where data is stored.

For example, you might create a database called analytics, then create a schema called reporting, and within that schema define tables such as customers or orders.

In SQL-based systems, the hierarchy typically looks like this:

Database
  └── Schema
        └── Tables

Understanding this structure is important because creating a database does not automatically create tables. Those must be defined separately.

Creating a Database vs. Designing a Database

Creating a database refers to issuing the command or using a tool to initialize it. Designing a database involves planning:

  • Table structures
  • Primary keys
  • Relationships
  • Data types
  • Indexing strategies

For example, running:

CREATE DATABASE company;

creates an empty database container. It does not define any tables or enforce data integrity rules. Those decisions belong to the design phase.

Separating creation steps from database design steps keeps implementation clean and reduces rework later.

Database Instance vs. Database System

Another important distinction is between a database and the database system itself.

  • A database system (also called a DBMS) is the software that manages data. Examples include Exasol, PostgreSQL, MySQL, and SQL Server.
  • A database instance is a specific database created within that system.

For example, Exasol is an in-memory analytics database system. Within an Exasol cluster, workloads are typically organized using schemas inside the provisioned database instance. The same concept applies to other relational systems.

This distinction matters when choosing how to create a database. Some platforms require administrative setup before individual databases can be created, especially in enterprise or cloud environments.

The Main Ways to Create a Database

There is no single universal method for creating a database. The process depends on the system you are using, the environment in which it runs, and your level of access.

In practice, most database creation workflows fall into one of the following categories:

  • Using a SQL command
  • Using a platform-specific management tool
  • Using a cloud service dashboard or API
  • Using desktop database software

Each approach ultimately accomplishes the same goal: initializing a new logical database container. The difference lies in how the command is executed and how much infrastructure is already in place.

1. Create a Database Using SQL

In many relational database systems, you create a new database using the CREATE DATABASE statement. This syntax is defined by the SQL standard (ISO/IEC 9075), which establishes the formal structure of SQL across compliant systems. It is common in platforms such as PostgreSQL, MySQL, and SQL Server.

CREATE DATABASE company;

This command tells the database management system to allocate storage and register a new database named company.

In these environments:

  • A single server instance can host multiple databases.
  • Each database acts as a separate logical container.
  • Users with sufficient privileges can create new databases directly using SQL.

After the database is created, you typically connect to it and begin defining schemas and tables:

USE company;

(Not all systems use USE; some require a new connection instead.)

It is important to note that not all database platforms follow this exact model. In some enterprise and analytics systems, database provisioning is handled at the infrastructure level, and developers organize data using schemas within an existing database instance. The SQL CREATE DATABASE workflow primarily applies to multi-database server environments.

Using SQL for database creation is common in development workflows, automated deployments, and infrastructure-as-code pipelines because it is reproducible and scriptable.

2. Create a Database in Exasol

Exasol is an in-memory, columnar database system designed for high-performance analytics.

Depending on the deployment model (on-premises, cloud, or hybrid), it may be performed by infrastructure administrators or automated deployment processes rather than through everyday SQL workflows. For example:

Step 1: Create an Exasol Database Instance with Exasol Personal (Free)

If you want a free, hands-on way to create an Exasol database environment, Exasol Personal is a single-user edition intended for personal use and evaluation. It runs in your own AWS environment and is deployed using Exasol Launcher.

At a high level, the workflow looks like this:

  1. Set up AWS prerequisites for Exasol Personal.
  2. Deploy Exasol Personal on AWS using Exasol Launcher.
  3. Once deployed, connect using a SQL client and start creating schemas and tables.

Step 2: Create Schemas and Tables Inside an Existing Exasol Database

In many enterprise deployments, the Exasol database instance is provisioned by administrators or automated infrastructure processes. Developers then organize workloads using schemas and tables, but you can also use Exasol Personal for this exercise. For example:

CREATE SCHEMA analytics;

Then define tables:

CREATE TABLE analytics.customers (
  customer_id DECIMAL(18,0) PRIMARY KEY,
  name VARCHAR(200),
  country VARCHAR(100)
);

This structure is typical in analytics workloads, where schemas are used to separate reporting layers, staging areas, or business domains.

3. Create a Database in SQL Server

SQL Server follows a more traditional multi-database server model. A single SQL Server instance can host multiple independent databases, and users with sufficient permissions can create them directly.

There are two common ways to create a database in SQL Server:

  1. Using Transact-SQL (T-SQL)
  2. Using SQL Server Management Studio (SSMS)

Creating a Database Using T-SQL

In SQL Server, you can create a database using the CREATE DATABASE statement:

CREATE DATABASE company;

This command creates a new database named company within the SQL Server instance.

You can also specify additional configuration options, such as file locations and sizes:

CREATE DATABASE company
ON 
(
    NAME = company_data,
    FILENAME = 'C:\SQLData\company.mdf',
    SIZE = 50MB
)
LOG ON
(
    NAME = company_log,
    FILENAME = 'C:\SQLData\company.ldf',
    SIZE = 20MB
);

These options allow administrators to control storage allocation and growth settings. In production environments, database files are typically placed on dedicated storage volumes for performance and reliability.

After creation, you can switch context to the new database:

USE company;

To execute this command, the user must have CREATE DATABASE permissions or be a member of an appropriate administrative role.

Creating a Database Using SQL Server Management Studio (SSMS)

Many teams use SQL Server Management Studio (SSMS), which provides a graphical interface.

The process is:

  1. Connect to the SQL Server instance.
  2. Right-click Databases in Object Explorer.
  3. Select New Database.
  4. Enter a database name.
  5. Configure file settings if needed.
  6. Click OK.

This approach is common in enterprise environments where administrators manage multiple databases and prefer visual configuration.

When SQL Server Database Creation Is Used

SQL Server database creation is common in:

  • Enterprise application environments
  • Internal business systems
  • Data warehouse deployments within Microsoft ecosystems

4. Create a Database in MySQL or PostgreSQL

MySQL and PostgreSQL follow a traditional multi-database server model. A single server instance can host multiple independent databases, and users with sufficient privileges can create new ones directly using SQL.

Although the syntax is similar across systems, there are small differences in workflow and permissions.

Creating a Database in MySQL

In MySQL, you create a database using the CREATE DATABASE statement:

CREATE DATABASE company;

You can verify that it exists by listing all databases:

SHOW DATABASES;

To begin working inside the new database:

USE company;

MySQL allows additional options such as character set and collation:

CREATE DATABASE company
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

These settings define how text is stored and compared.

To execute this command, the user must have the CREATE privilege at the server level.

Creating a Database in PostgreSQL

In PostgreSQL, the syntax is also:

CREATE DATABASE company;

However, PostgreSQL does not use the USE command. Instead, you connect directly to the database:

From the command line:

psql -d company

Or from within psql:

\c company

You can also specify an owner during creation:

CREATE DATABASE company OWNER db_admin;

PostgreSQL requires the user to have CREATEDB privileges or superuser access.

Architectural Notes

Both MySQL and PostgreSQL:

  • Allow multiple databases within a single server instance
  • Use CREATE DATABASE as a primary workflow
  • Separate databases at the top level of logical organization

5. Create a Database Using Cloud Services

Cloud platforms allow you to create databases without installing or managing server infrastructure yourself. Instead of configuring hardware or provisioning a cluster manually, you create a database through a cloud console, API, or automation tool.

Common examples include:

  • Azure SQL Database
  • Google Cloud SQL
  • Amazon RDS
  • Managed Exasol deployments

In these environments, creating a database typically involves:

  1. Selecting the database engine
  2. Choosing compute and storage settings
  3. Defining administrative credentials
  4. Launching the database instance

Once provisioning is complete, you connect using standard SQL tools and begin creating schemas and tables.

For example, after a managed database is deployed, you may still use:

CREATE TABLE customers (...);

The difference is that infrastructure setup is handled by the cloud provider, while logical data organization is still performed using SQL.

Cloud-based database creation is common in:

  • SaaS applications
  • Analytics platforms
  • Rapid development environments
  • Scalable production systems

6. Create a Database Using Desktop Software (Microsoft Access)

Desktop database tools such as Microsoft Access provide a simplified way to create a database without writing SQL. This approach is typically used for small-scale applications, internal tools, or standalone projects.

To create a database in Microsoft Access:

  1. Open Microsoft Access.
  2. Select Blank Database or choose a template.
  3. Enter a file name.
  4. Click Create.

Access creates a database file (for example, .accdb) on your local system. Tables, forms, and reports can then be created using graphical design tools.

This method differs from server-based systems such as SQL Server or PostgreSQL because:

  • The database runs locally.
  • There is no separate server instance.
  • Infrastructure configuration is minimal.

Desktop database creation is suitable for:

  • Individual users
  • Small teams
  • Lightweight internal workflows

It is not typically used for large-scale analytics or enterprise production systems.

Choosing the Right Database Platform

The best way to create a database depends on the workload you need to support. Different systems are designed for different use cases, performance requirements, and operational models. Understanding common database types helps clarify why relational, analytical, and NoSQL systems are structured differently and optimized for different tasks.

Below is a high-level comparison to help guide your decision.

For Analytics and Data Warehousing

If your primary goal is large-scale analytics, reporting, or data warehouse workloads, consider platforms designed for high-performance querying.

Exasol, for example, is optimized for analytical processing using a columnar, in-memory architecture. In these environments:

  • The database instance is typically provisioned at the cluster level.
  • Workloads are organized using schemas.
  • Performance tuning focuses on query execution and data distribution.

This model is suited for enterprise analytics platforms and high-volume reporting systems.

For Web Applications and Backend Services

For transactional workloads such as web applications or backend services, systems like MySQL and PostgreSQL are common choices.

These platforms:

  • Support multiple databases per server instance
  • Allow database creation directly using SQL
  • Are widely supported across hosting providers

They are commonly used for application data storage, user accounts, and operational systems.

For Microsoft-Centric Enterprise Environments

If your infrastructure is built around Microsoft technologies, SQL Server may be the preferred option.

SQL Server integrates with:

  • Active Directory
  • Azure services
  • Microsoft business applications

Database creation can be handled through SQL scripts or management tools such as SSMS.

For Managed Cloud Deployments

If you want to avoid managing infrastructure, cloud-based database services may be appropriate.

Managed services:

  • Handle backups and patching
  • Provide scaling options
  • Reduce operational overhead

You create the database instance through a cloud console, then manage schemas and tables using standard SQL.

The right platform depends on:

  • Performance requirements
  • Operational model (on-premises vs. cloud)
  • Team expertise
  • Scalability needs

Understanding these differences helps ensure that you create your database in an environment that supports your long-term goals.

Common Mistakes When Creating a Database

Creating a database is straightforward from a technical standpoint, but mistakes at this stage can lead to long-term issues. The following problems are common across systems, whether you are working with SQL Server, PostgreSQL, MySQL, or Exasol.

Skipping Planning

Creating a database without understanding the data model often results in:

  • Redundant tables
  • Inconsistent naming conventions
  • Poor relationships between entities

Even in agile environments, a basic design plan helps prevent structural rework later.

Ignoring Permissions and Access Control

Database creation is only one part of security. Failing to configure users and roles properly can expose sensitive data or cause operational friction. In regulated environments, access controls may need to comply with frameworks such as the EU General Data Protection Regulation (GDPR), which governs how personal data is processed and protected.

Best practice includes:

  • Assigning least-privilege roles
  • Separating administrative and application accounts
  • Auditing access where required

Choosing the Wrong Platform for the Workload

Not all databases are designed for the same purpose.

For example:

  • A lightweight desktop database may not support large-scale analytics.
  • A transactional system may not perform well under heavy analytical queries.
  • An analytics-focused system such as Exasol is optimized for read-intensive workloads rather than high-frequency transactional updates.

Selecting the wrong platform can create performance bottlenecks that are difficult to resolve later.

Overlooking Performance Considerations

Early design decisions affect performance. Common issues include:

  • Poor indexing strategy
  • Improper data types
  • Lack of workload planning
  • Ignoring storage and scaling requirements

In analytics environments, table structure and data distribution can significantly affect query performance.

Mixing Development and Production Environments

Creating databases directly in production without testing can introduce risk. It is safer to:

  • Validate schema changes in development
  • Use version-controlled deployment scripts
  • Apply changes through controlled release processes

This approach reduces downtime and data integrity issues.

FAQs

You can create a database in several ways, depending on the system you use.

In many relational databases such as MySQL, PostgreSQL, or SQL Server, you create a database using a SQL statement. In enterprise analytics platforms such as Exasol, the database instance is typically provisioned at the system level, and users create schemas and tables within that environment.

You can also create databases through graphical management tools or cloud provider dashboards.

Excel is not a full database management system, but it can store structured data in tables. For small projects, Excel may be sufficient. For larger or multi-user systems, a database platform such as SQL Server, PostgreSQL, or Exasol is more appropriate.

The most commonly referenced database categories are:

  1. Relational databases – Store data in tables with structured relationships (e.g., PostgreSQL, SQL Server, Exasol).
  2. NoSQL databases – Store data in flexible formats such as documents or key-value pairs.
  3. Graph databases – Focus on relationships between entities.
  4. Object-oriented databases – Store data as objects.

Most enterprise systems use relational databases for structured business and analytics workloads.

Yes. You can create a database for free using Exasol Personal. It’s completely free for individual and personal use.

Technically, yes, if you have access to a database system and sufficient permissions. For development or learning purposes, most systems allow database creation with minimal setup.

Mathias Golombek
Mathias Golombek

Mathias Golombek is the Chief Technology Officer (CTO) of Exasol. He joined the company as a software developer in 2004 after studying computer science with a heavy focus on databases, distributed systems, software development processes, and genetic algorithms. By 2005, he was responsible for the Database Optimizer team and in 2007 he became Head of Research & Development. In 2014, Mathias was appointed CTO. In this role, he is responsible for product development, product management, operations, support, and technical consulting.