Как создать базу данных с помощью SQL?sql-90

Создание базы данных — фундаментальная операция в SQL Server, выполняемая командой CREATE DATABASE. Рассмотрим профессиональный подход к созданию БД с учетом всех важных параметров и лучших практик.

Базовый синтаксис

Минимальная команда для создания БД:

CREATE DATABASE DatabaseName

Пример:

CREATE DATABASE CustomerDB

Полная форма с параметрами

Профессиональный шаблон:

CREATE DATABASE DatabaseName
ON PRIMARY
(
    NAME = LogicalName,
    FILENAME = 'PathToFile.mdf',
    SIZE = InitialSize,
    MAXSIZE = MaxSize,
    FILEGROWTH = GrowthIncrement
)
LOG ON
(
    NAME = LogLogicalName,
    FILENAME = 'PathToLog.ldf',
    SIZE = LogSize,
    MAXSIZE = LogMaxSize,
    FILEGROWTH = LogGrowth
)
COLLATE CollationName

Ключевые параметры создания БД

1. Файлы данных и журналов

CREATE DATABASE Inventory
ON PRIMARY
(
    NAME = 'Inventory_Data',
    FILENAME = 'D:\Data\Inventory.mdf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 50MB
)
LOG ON
(
    NAME = 'Inventory_Log',
    FILENAME = 'E:\Logs\Inventory.ldf',
    SIZE = 50MB,
    MAXSIZE = 2GB,
    FILEGROWTH = 25%
)

2. Указание параметров сортировки

CREATE DATABASE MultilingualDB
COLLATE Cyrillic_General_CI_AS

3. Создание файловых групп

CREATE DATABASE SalesDB
ON PRIMARY
(
    NAME = 'Sales_Primary',
    FILENAME = 'C:\Data\Sales_Prm.mdf'
),
FILEGROUP SalesFG1
(
    NAME = 'Sales_Data1',
    FILENAME = 'D:\Data\Sales_1.ndf'
)

Продвинутые техники

1. Создание БД как копии существующей

CREATE DATABASE NewDB
AS COPY OF OriginalDB

2. Прикрепление существующих файлов БД

CREATE DATABASE ArchiveDB ON
(
    FILENAME = 'C:\Archives\ArchiveData.mdf'
) FOR ATTACH

3. Использование SNAPSHOT

CREATE DATABASE TestDB_Snapshot ON
(
    NAME = 'TestDB_Data',
    FILENAME = 'C:\Snapshots\TestDB.ss'
)
AS SNAPSHOT OF TestDB

Лучшие практики

  1. Размещение файлов:

    • Разные физические диски для данных и журналов
    • Отдельный диск для tempdb в продакшн-средах
  2. Размеры файлов:

    • Начальный размер ≈ ожидаемый объем данных
    • Рост в процентах для небольших БД, в MB — для крупных
  3. Именование:

    • Осмысленные имена файлов и логических имен
    • Единый стандарт именования в проекте

Ошибки новичков

  1. Использование настроек по умолчанию для продакшн-БД
  2. Размещение данных и журналов на одном диске
  3. Недостаточный начальный размер, вызывающий частый рост файлов
  4. Игнорирование параметров сортировки

Проверка созданной БД

SELECT name, collation_name, state_desc
FROM sys.databases
WHERE name = 'DatabaseName'

Резюмируем

Создание базы данных в SQL Server — это не просто выполнение простой команды, а процесс, требующий понимания структуры хранения данных и особенностей будущей нагрузки. Правильно созданная БД с оптимальными параметрами файлов, размерами и настройками сортировки закладывает фундамент для производительной и стабильной работы системы. Всегда учитывайте требования вашего приложения и планируйте рост данных при настройке параметров создания базы.