Создание бд и таблиц в sql. Определение структуры базы данных. Что может делать

Для этого понадобится установленная система управления базами данных (СУБД) DB2. Мы будем использовать диалект языка SQL, который используется именно в этой СУБД.

Первая команда, которую мы будем применять для создании базы данных - это команда CREATE DATABASE. Её синтаксис следующий:

CREATE TABLE ИМЯ_ТАБЛИЦЫ (имя_первого_столбца тип данных, ..., имя_последнего_столбца тип данных, первичный ключ, ограничения (не обязательно))

Так как наша база данных моделирует сеть аптек, то в ней есть такие сущности, как "Аптека" (таблица Pharmacy в нашем примере создания базы данных), "Препарат" (таблица Preparation в нашем примере создания базы данных), "Доступность (препаратов в аптеке)" (таблица Availability в нашем примере создания базы данных), "Клиент" (таблица Client в нашем примере создания базы данных) и другие, которые здесь подробно и разберём.

Разработке модели "сущность-связь" можно посвятить не одну статью, но если нас прежде всего интересуют команды языка SQL для создания базы данных и таблиц в ней, то условимся считать, что связи между сущностями уже нам понятны. На рисунке ниже приведено представление модели нашей базы данных с атрибутами сущностей (таблиц) и связями между таблицами.

Для увеличения рисунка можно нажать на него левой кнопкой мыши.

Как уже говорилось, в разбираемом здесь примере создания базы данных использовался вариант языка SQL, который используется в системе управления базами данных (СУБД) DB2. Он является регистронезависимым, то есть не имеет значение, набраны ли команды и отдельные слова в них строчными или прописными буквами. Для иллюстрации этой особенности приведены команды без особой системы набранные строчными и прописными буквами.

Теперь приступим к созданию команд. Первая наша команда SQL создаёт базу данных PHARMNETWORK:

Код SQL

CREATE DATABASE PHARMNETWORK

Описание таблицы PHARMACY (Аптека):

Пишем команду, которая создаёт таблицу PHARMACY (Аптека), значения первичного ключа PH_ID генерируются автоматически от 1 с шагом 1, вносится проверка на то, чтобы значения атрибута Address в этой таблице были уникальными:

Код SQL

CREATE TABLE PHARMACY(PH_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), Address varchar(40) NOT NULL, PRIMARY KEY(PH_ID), CONSTRAINT PH_UNIQ UNIQUE(Address))

Описание таблицы GROUP (Группа препаратов):

Пишем команду, которая создаёт таблицу Group (Группа препаратов), значения первичного ключа GR_ID генерируются автоматически от 1 с шагом 1, проводится проверка уникальности наименования группы (для этого используется ключевое слово CONSTRAINT):

Код SQL

CREATE TABLE GROUP(GR_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), Name varchar(40) NOT NULL, PRIMARY KEY(GR_ID), CONSTRAINT GR_UNIQ UNIQUE(Name))

Описание таблицы PREPARATION (Препарат):

Команда, которая создаёт таблицу PREPARATION, значения первичного ключа PR_ID генерируются автоматически от 1 с шагом 1, определяется, что значения внешнего ключа GR_ID (Группа препаратов) не могут принимать значение NULL, определена проверка уникальности значений атрибута Name:

Код SQL

CREATE TABLE PREPARATION(PR_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), Name varchar(40) NOT NULL, GR_ID int NOT NULL, PRIMARY KEY(PR_ID), constraint PR_UNIQ UNIQUE(Name))

Далее нам требуется позаботиться об ограничениях целостности. Это очень удобно слелать с помощью команды alter table. Эта команда изучается на уроке SQL ALTER TABLE - изменение таблицы базы данных.

Теперь самое время создать таблицу AVAILABILITY (Доступность или Наличие препарата в аптеке). Её описание:

Пишем команду, которая создаёт таблицу AVAILABILITY. Определяются даты начала (не может быть NULL) и окончания (по умолчанию NULL).

Код SQL

CREATE TABLE AVAILABILITY(A_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), PH_ID INT NOT NULL, PR_ID INT NOT NULL, DateStart varchar(20) NOT NULL, DateEnd varchar(20) DEFAULT NULL, QUANTITY INT NOT NULL, MART varchar(3) DEFAULT NULL, PRIMARY KEY(A_ID), CONSTRAINT AVA_UNIQ UNIQUE(PH_ID, PR_ID))

Создаём таблицу DEFICIT (Дефицит препарата в аптеке, то есть, неудовлетворённый запрос). Её описание:

Пишем команду, которая создаёт таблицу DEFICIT:

Код SQL

CREATE TABLE DEFICIT(D_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), PH_ID INT NOT NULL, PR_ID INT NOT NULL, Solution varchar(40) NOT NULL, DateStart varchar(20) NOT NULL, DateEnd varchar(20) DEFAULT NULL)

Осталось немного. Мы уже дошли до команды, которая создаёт таблицу Employee (Сотрудник). Её описание:

Пишем команду, которая создаёт таблицу Employee (Сотрудник), с первичным ключом, генерируемым по тем же правилам, что и первичные ключи предыдущих таблиц, в которых они существуют. Внешним ключом PH_ID Сотрудник связан с PHARMACY (Аптекой).:

Код SQL

CREATE TABLE EMPLOYEE(E_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), F_Name varchar(40) NOT NULL, L_Name varchar(40) NOT NULL, POST varchar(40) NOT NULL, PH_ID INT NOT NULL, PRIMARY KEY(E_ID))

Очередь дошла до создании таблицы CLIENT (Клиент). Её описание:

Пишем команду, создающую таблицу CLIENT (Клиент), в отношении первичного ключа которого справедливо предыдущее описание. Особенность этой таблицы в том, что её атрибуты F_Name и L_Name имеют по умолчанию значение NULL. Это связано с тем, что клиенты могут быть как зарегистрированными, так и незарегистрированными. У последних значения имени и фамилии как раз и будут неопределёнными (то есть NULL):

Код SQL

CREATE TABLE CLIENT(C_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), FName varchar(40) DEFAULT NULL, LName varchar(40) DEFAULT NULL, DateReg varchar(20), PRIMARY KEY(C_ID))

Предпоследняя таблица в нашей базе данных - таблица BASKET (Корзина покупок). Её описание:

Пишем команду, создающую таблицу BASKET (Корзина покупок), так же с уникальным и инкрементируемым первичным ключом и связанную внешним ключами C_ID и E_ID с Клиентом и Сотрудником соответственно:

Код SQL

CREATE TABLE BASKET(BS_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), C_ID INT NOT NULL, E_ID INT NOT NULL, PRIMARY KEY(BS_ID))

И, наконец, последняя таблица в нашей базе данных - таблица BUYING (покупка). Её описание:

Имя поля Тип данных Описание
B_ID smallint Идентификационный номер покупки
PH_ID smallint Идентификационный номер аптеки
PR_ID smallint Идентификационный номер препарата
BS_ID varchar(40) Идентификационный номер корзины покупок
Price varchar(20) Цена
Date varchar(20) Дата

Пишем команду, создающую таблицу BUYING (покупка), так же с уникальным и инкрементируемым первичным ключом и связанную внешними ключами BS_ID, PH_ID, PR_ID с Корзиной покупок, Аптекой и Препаратом соответственно:

Код SQL

CREATE TABLE BUYING(B_ID smallint NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), BS_ID INT NOT NULL, PH_ID INT NOT NULL, PR_ID INT NOT NULL, DateB varchar(20) NOT NULL, Price Double NOT NULL, PRIMARY KEY(B_ID))

И совсем уже в завершение темы создания базы данных обещанное отступление о соблюдении ограничений целостности, когда решение - более сложное, чем написание команды. В нашем примере необходимо соблюдать следующее условие: при покупке единицы препарата значение количества этого препарата в таблице AVAILABILITY должно соответственно уменьшиться. Вообще говоря, для таких операций в языке SQL существуют особые средства, называемые триггерами. Но триггеры - вещь капризная: на практике они могут и не сработать или сработать не так, как предусмотрено. Поэтому разработчики по возможности ищут программные средства решения таких задач, пример которых упомянут в этом абзаце.

После установки необходимо добавить пользователя для работы с БД, и, соответственно, создать новую базу данных. Ниже будет рассказано как это сделать.

1. Добавление нового пользователя

Запускаем программу «Среда SQL Server Management Studio » («Пуск » — «Microsoft SQL Server 2008 R2 » — «Среда SQL Server Management Studio ») .

В открывшемся окне выбираем:

  • Тип сервера: «Компонент Database Engine » .
  • Имя сервера в формате «<Имя компьютера>\<Идентификатор экземпляра> » , где
    <Имя компьютера> — имя физического компьютера на котором установлен SQL Server (в моем примере «S4 »).
    <Идентификатор экземпляра> — задается только в случае подключения к именованному экземпляра SQL Server.
  • Проверка подлинности:«Проверка подлинности SQL Server » или «Проверка подлинности Windows »
  • Имя входа: имя пользователя SQL Server.
  • Пароль: в случае проверки подлинности SQL Server, пароль для выбранного пользователя.

После чего нажимаем «Соединить » .

Если все введено верно, в окне «Обозреватель объектов » мы увидим вкладку с именем нашего SQL-сервера. В нем раскрываем вкладку «Безопасность » — «Имена входа » и в контекстном меню выбираем «Создать имя входа » .

Откроется окно «Создание имени входа » . На вкладке «Общие » заполняем:

  • Имя входа: наименование пользователя SQL.
  • Проверку подлинности выбираем: SQL Server.
  • Придумываем пароль для пользователя.

(При необходимости можно определить и остальные настройки безопасности). Затем переходим на вкладку «Роли сервера » .

На данной странице необходимо указать для данного пользователя. Например, если необходимо создать пользователя с административными правами, необходимо установить для него роль

  • sysadmin

Если создается пользователь для подключения программ или , то достаточно указания ролей

  • dbcreator
  • processadmin
  • public

назначается всем пользователям.

Указав все необходимые роли для создаваемого пользователя нажимаем «ОК » .

На этом процедура создания пользователя завершена.

2. Создание новой базы данных

Для добавления новой базы данных, в «Среде Microsoft SQL Server Management Studio » кликаем правой кнопкой мышки на вкладке «Базы данных » и выбираем «Создать базу данных » .

В открывшемся окне «Создание базы данных » на вкладке «Общие » заполняем:

  • Задаем имя базы данных. Имя базы данных не должно начинаться с цифры или иметь пробелы в названии, иначе получим ошибку:
    «неправильный синтаксис около конструкции %имя базы данных%» .
  • В качестве владельца выбираем созданного на предыдущем шаге пользователя.

Затем переходим на вкладку «Параметры » .

Здесь необходимо выбрать «Модель восстановления » базы данных и «Уровень совместимости » . Эти параметры зависят от того приложения, которое будет с создаваемой базой данных на SQL сервере. Например для необходимо задать

  • Уровень совместимости: «SQL Server 2000 (80) » .

Очень внимательно стоит отнестись к параметру «Модель восстановления » создаваемой базы данных. Подробно про модели восстановления баз данных и о том, на что данный параметр влияет, я писал . Если сомневаетесь — выбирайте простую модель восстановления.

Определившись с параметрами нажимаем «ОК » .

После чего в списке мы должны увидеть только что созданную базу данных.

Помогла ли Вам данная статья?

Каждый из нас регулярно сталкивается и пользуется различными базами данных. Когда мы выбираем адрес электронной почты, мы работаем с базой данных. Базы данных используют поисковые сервисы, банки для хранения данных о клиентах и т.д.

Но, несмотря на постоянное использование баз данных, даже для многих разработчиков программных систем остается много «белых пятен» из-за разного толкования одних и тех же терминов. Мы дадим краткое определение основных терминов баз данных перед рассмотрением языка SQL. Итак.

База данных - файл или набор файлов для хранения упорядоченных структур данных и их взаимосвязей. Очень часто базой данных называют систему управления - это только хранилище информации в определенном формате и может работать с различными СУБД.

Таблица - представим себе папку, в которой хранятся документы, сгруппированные по определенному признаку, например список заказов за последний месяц. Это и есть таблица в компьютерной Отдельная таблица имеет свое уникальное имя.

Тип данных - вид информации, разрешенной для хранения в отдельном столбце или строке. Это могут быть числа или текст определенного формата.

Столбец и строка - все мы работали с электронными таблицами, в которых также присутствуют строки и столбцы. Любая реляционная база данных работает с таблицами аналогичным образом. Строки иногда называют записями.

Первичный ключ - каждая строка таблицы может иметь один или несколько столбцов для ее уникальной идентификации. Без первичного ключа очень трудно производить обновление, изменение и удаление нужных строк.

Что такое SQL?

SQL (англ. - язык структурированных запросов) был разработан только для работы с базами данных и в настоящий момент является стандартом для всех популярных СУБД. Синтаксис языка состоит из небольшого количества операторов и прост в изучении. Но, несмотря на внешнюю простоту, он позволяет создание sql запросов для сложных операций с БД любого размера.

С 1992 г. существует общепринятый стандарт, называемый ANSI SQL. Он определяет базовый синтаксис и функции операторов и поддерживается всеми лидерами рынка СУБД, такими как ORACLE Рассмотреть все возможности языка в одной небольшой статье невозможно, поэтому мы кратко рассмотрим только основные SQL запросы. Примеры наглядно показывают простоту и возможности языка:

  • создание баз и таблиц;
  • выборка данных;
  • добавление записей;
  • модификация и удаление информации.

Типы данных SQL

Все столбцы в таблице базы данных хранят один тип данных. Типы данных в SQL такие же, как и в других языках программирования.

Создаем таблицы и базы данных

Создавать новые базы, таблицы и другие запросы в SQL можно двумя способами:

  • Операторами SQL через консоль СУБД
  • Используя интерактивные средства администрирования, входящие в состав сервера баз данных.

Создается новая база данных оператором CREATE DATABASE <наименование базы данных>; . Как видим, синтаксис прост и лаконичен.

Таблицы внутри базы данных создаем оператором CREATE TABLE со следующими параметрами:

  • наименование таблицы
  • имена и типы данных столбцов

В качестве примера создадим таблицу Commodity со следующими столбцами:

Создаем таблицу:

CREATE TABLE Commodity

(commodity_id CHAR(15) NOT NULL,

vendor_id CHAR(15) NOT NULL,

commodity_name CHAR(254) NULL,

commodity_price DECIMAL(8,2) NULL,

commodity_desc VARCHAR(1000) NULL);

Таблица состоит из пяти столбцов. После наименования идет тип данных, столбцы разделяются запятыми. Значение столбца может принимать пустые значения (NULL) или должно быть обязательно заполнено (NOT NULL), и это определяется при создании таблицы.

Выборка данных из таблицы

Оператор выборки данных - самые часто используемые SQL запросы. Для получения информации необходимо указать, что мы хотим выбрать из такой таблицы. Вначале простой пример:

SELECT commodity_name FROM Commodity

После оператора SELECT указываем имя столбца для получения информации, а FROM определяет таблицу.

Результатом выполнения запроса будут все строки таблицы со значениями Commodity_name в том порядке, в котором они были внесены в базу данных т.е. без всякой сортировки. Для упорядочивания результата используется дополнительный оператор ORDER BY.

Для запроса по нескольким полям перечисляем их через запятую, как в следующем примере:

SELECT commodity_id, commodity_name, commodity_price FROM Commodity

Есть возможность получить как результат запроса значение всех столбцов строки. Для этого используется знак «*»:

SELECT * FROM Commodity

  • Дополнительно SELECT поддерживает:
  • Сортировку данных (оператор ORDER BY)
  • Выбор согласно условиям (WHERE)
  • Группировку срок (GROUP BY)

Добавляем строку

Для добавления строки в таблицу используются SQL запросы с оператором INSERT. Добавление может производиться тремя способами:

  • добавляем новую целую строку;
  • часть строки;
  • результаты запроса.

Для добавления полной строки необходимо указать имя таблицы и значения столбцов (полей) новой строки. Приведем пример:

INSERT INTO Commodity VALUES("106 ", "50", "Coca-Cola", "1.68", "No Alcogol ,)

Пример добавляет в таблицу новый товар. Значения указываются после VALUES для каждого столбца. Если нет соответствующего значения для столбца, то необходимо указывать NULL. Столбцы заполняются значениями в порядке, указанном при создании таблицы.

В случае добавления только части строки необходимо явно указать наименования столбцов, как в примере:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VALUES("106 ", ‘50", "Coca-Cola",)

Мы ввели только идентификаторы товара, поставщика и его наименование, а остальные поля отставили пустыми.

Добавление результатов запроса

В основном INSERT используется для добавления строк, но может использоваться и для добавления результатов оператора SELECT.

Изменение данных

Для изменения информации в полях таблицы базы данных необходимо использовать оператор UPDATE. Оператор может применяться двумя способами:

  • Обновляются все строки в таблице.
  • Только для определенной строки.

UPDATE состоит из трех основных элементов:

  • таблица, в которой необходимо производить изменения;
  • имена полей и их новые значения;
  • условия выбора строк для изменения.

Рассмотрим пример. Допустим, у товара с ID=106 изменилась стоимость, поэтому эту строку необходимо обновить. Пишем следующий оператор:

UPDATE Commodity SET commodity_price = "3.2" WHERE commodity_id = "106"

Мы указали имя таблицы, в нашем случае Commodity, где будет производиться обновление, затем после SET - новое значение столбца и нашли нужную запись, указав в WHERE нужное значение ID.

Для изменения нескольких столбцов после оператора SET указываются несколько пар столбец-значение, разделенных запятыми. Смотрим пример, в котором обновляется наименование и цена товара:

UPDATE Commodity SET commodity_name=’Fanta’, commodity_price = "3.2" WHERE commodity_id = "106"

Для удаления информации в столбце можно присвоить ему значение NULL, если это позволяет структура таблицы. Необходимо помнить, что NULL - это именно «никакое» значение, а не нуль в виде текста или числа. Удалим описание товара:

UPDATE Commodity SET commodity_desc = NULL WHERE commodity_id = "106"

Удаление строк

SQL запросы на удаление строк в таблице выполняются оператором DELETE. Есть два варианта использования:

  • в таблице удаляются определенные строки;
  • удаляются все строки в таблице.

Пример удаления одной строки из таблицы:

DELETE FROM Commodity WHERE commodity_id = "106"

После DELETE FROM указываем имя таблицы, в которой будут удаляться строки. Оператор WHERE содержит условие, по которому будут выбираться строки для удаления. В примере мы удаляем строку товара с ID=106. Указывать WHERE очень важно т.к. пропуск этого оператора приведт к удалению всех строк в таблице. Это относится и к изменению значения полей.

В операторе DELETE не указываются наименования столбцов и метасимволы. Он полностью удаляет строки, а удалить отдельный столбец он не может.

Использование SQL в Microsoft Access

Обычно используется в интерактивном режиме для создания таблиц, баз данных, для управления, изменения, анализа данных в базе данных и с целью внедрить запросы SQL Access через удобный интерактивный конструктор запросов (Query Designer), используя который можно построить и немедленно выполнить операторов SQL любой сложности.

Также поддерживается режим доступа к серверу, при котором СУБД Access может использоваться как генератор SQL-запросов к любому ODBC источнику данных. Эта возможность позволяет приложениям Access взаимодействовать с любого формата.

Расширения SQL

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

Наиболее распространенные диалекты языка:

  • Oracle Database - PL/SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL/pgSQL.

SQL в Интернет

СУБД MySQL распространяется под свободной лицензией GNU General Public License. Имеется коммерческая лицензия с возможностью разработки заказных модулей. Как составная часть входит в наиболее популярные сборки Интернет-серверов, таких как XAMPP, WAMP и LAMP, и является самой популярной СУБД для разработки приложений в сети Интернет.

Была разработана компанией Sun Microsystems и в настоящий момент поддерживается корпорацией Oracle. Поддерживаются базы данных размером до 64 терабайт, стандарт синтаксиса SQL:2003, репликация баз данных и облачных сервисов.

Последнее обновление: 09.07.2017

Создание базы данных

Для создания базы данных используется команда CREATE DATABASE .

Чтобы создать новую базу данных откроем SQL Server Management Studio. Нажмем на назначение сервера в окне Object Explorer и в появившемся меню выберем пункт New Query .

В центральное поле для ввода выражений sql введем следующий код:

CREATE DATABASE usersdb

Тем самым мы создаем базу данных, которая будет называться "usersdb":

Для выполнения команды нажмем на панели инструментов на кнопку Execute или на клавишу F5. И на сервере появится новая база данных.

После создания базы даных, мы можем установить ее в качестве текущей с помощью команды USE :

USE usersdb;

Прикрепление базы данных

Возможна ситуация, что у нас уже есть файл базы данных, который, к примеру, создан на другом компьютере. Файл базы данных представляет файл с расширением mdf, и этот файл в принципе мы можем переносить. Однако даже если мы скопируем его компьютер с установленным MS SQL Server, просто так скопированная база данных на сервере не появится. Для этого необходимо выполнить прикрепление базы данных к серверу. В этом случае применяется выражение:

CREATE DATABASE название_базы_данных ON PRIMARY(FILENAME="путь_к_файлу_mdf_на_локальном_компьютере") FOR ATTACH;

В качестве каталога для базы данных лучше использовать каталог, где хранятся остальные базы данных сервера. На Windows 10 по умолчанию это каталог C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA . Например, пусть в моем случае файл с данными называется userstoredb.mdf. И я хочу этот файл добавить на сервер как базу данных. Вначале его надо скопировать в выше указанный каталог. Затем для прикрепления базы к серверу надо использовать следующую команду:

CREATE DATABASE contactsdb ON PRIMARY(FILENAME="C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\userstoredb.mdf") FOR ATTACH;

После выполнения команды на сервере появится база данных contactsdb.

Удаление базы данных

Для удаления базы данных применяется команда DROP DATABASE , которая имеет следующий синтаксис:

DROP DATABASE database_name1 [, database_name2]...

После команды через запятую мы можем перечислить все удаляемые базы данных. Например, удаление базы данных contactsdb:

DROP DATABASE contactsdb

Стоит учитывать, что даже если удаляемая база данных была прикреплена, то все равно будут удалены все файлы базы данных.

В sql server’е базы данных хранятся в виде обычных файлов на диске. Как минимум на одну БД приходится таких файлов 2: *.mdf и *.ldf. В первом хранятся сами данные, таблицы, индексы и пр., а во втором находится т.н. transaction log, в котором находится информация необходимая для восстановления БД.

Как можно создать новую БД? Это можно сделать 2 способами:

используя sql server enterprise manager
с использованием языка sql и оператора create database
Первый вариант прост и нагляден. Второй — удобен при распространении Ваших замечательных продуктов, использующих ms sql server, поскольку позволяет создать БД без нажатия разных кнопок.

Использование sql server enterprise manager

Залогиньтесь на Ваш компьютер как administrator или как пользователь, входящий в локальную группу administrators
Запустите sql server enterprise manager.
Раскройте Вашу группу sql серверов. Затем раскройте Ваш sql сервер. (раскрыть — значит щелкнуть мышкой на "+" в дереве объектов enterprise manager).
Щелкните на Вашем сервере.
В меню tools выберите пункт wizards…. В появившемся окне раскройте пункт database, щелкните на create database wizard и нажмите ok.
На экране появится окно "волшебника" по созданию БД. Жмем "next"
На этом шаге "волшебник" поинтересуется у Вас именем БД, а также местом ее расположения на необъятных просторах Ваших дисков 🙂 Проще говоря нужно указать название БД (лучше не использовать русские буквы в имени БД), а также расположение файлов.mdf и.ldf
Я назвал ее гордым именем sqlstepbystep и в дальнейшем буду на нее так и ссылаться.
Теперь от Вас потребуется указать начальный размер БД и имя файла для хранения данных. укажите размер сколько Вам не жалко для экспериментов. imho, 5 МБ будет вполне достаточно. Имя файла тоже вполне произвольно. Например, я ввел sqlstep.
Этот шаг называется: "Определение роста БД", т.е. требуется определить как будет (и будет ли) изменяться размер БД по мере добавления данных. Даны две группы опций:
do not automatically grow the database files — запретить автоматический рост файлов БД
automatically grow the database file — автоматический рост файлов БД, выбрано по умолчанию. Пусть так и будет.
В случае автоматического роста файлов можно задать прирост БД в мегабайтах или в процентах (по умолчанию стоит 10%). Кроме того можно ограничить или неограничивать максимальный размер БД (по умолчанию — неограниченно). Выбор тех или иных значений зависит от назначения БД, интенсивности и характера ее использования, т.е. от Ваше конкретной задачи. Как правильно (с моей колокольни 🙂 выбрать эти параметры мы рассмотрим позднее, в шагах посвященных вопросам оптимизации.
С параметрами файла данных определились, теперь требуется определиться с параметрами лога. Они точно такие же. Обязательно введите имя файла лога отличное от имени файла БД, просто добавьте к нему log
Нажмете "next" и можно посмотреть на итоговый отчет. Если все в порядке нажмите "finish" БД и создастся. Об этом вы получите сообщение, а затем Вам будет предложено создать maintenance plan нам сейчас не нужен, поэтому откажитесь.

Использование sql оператора create database

Оператор create database может повторить все ваши действия, описанные выше. Собственно enterprise manager "перевел" ваши нажатия в этот оператор и передал его sql server’у. Почти все функции enterprise manager’а именно так и выполняются: у пользователя запрашиваются данные, формируется оператор замечательного языка sql (который мы рассмотрим позднее) и передается для выполнения sql server, а результаты выполнения показывают пользователю.

Рассмотрим поближе синтаксис оператора create database.

create database database_name (name = logical_file_name, filename = "os_file_name" [, size = size] [, maxsize = max_size] [, filegrowth = growth_increment]) } [,...n] ] ) } [,...n] ]


filename — полный путь и имя файла для размещения БД, должен указывать на локальный диск компьютера, на котором установлен sql server.
size — начальный размер каждого файла в Мб.
maxsize — максимальный размер файла в Мб, если не указана размер не ограничивается.
filegrowth — единица увеличения файла, указывается в Мб (по умолчанию) или в процентах (т.е. к числу добавляется %), значение 0 запрещает увеличение файла.
Теперь посмотрим как выглядит создание БД:

create database sqlstepbystep on primary (name=sqlstepdata, filename="c:mssql7datasqlstep_data.mdf", size=5, maxsize=10, filegrowth=10%) log on (name=sqlsteplog, filename="c:mssql7datasqlstep_log.ldf", size=1, maxsize=5, filegrowth=1)

Чтобы проверить эту команду, запустите query analyzer — очень полезная утилита, для выполнения sql запросов. Подключитесь к Вашему серверу и в окне ввода команд наберите этот оператор. Отправьте запрос на выполнение (клавишей f5 или ctrl-e или щелкните мышкой на кнопке с зеленой стрелкой). Все пошуршит и вскоре внизу, в окне сообщений, появится сообщение о том что БД создана успешно (или нет).

Все что мы создали можно и уничтожить. Удаление БД очень просто, как говорится "ломать не строить". sql оператор:

drop database <имя бд>

Набирается в query analyzer и запускается на выполнение. Фю-ю-и-ить, и БД уже нет.
В enterprise manager’e выберите БД щелкните правой кнопкой мыши и в контекстном меню выберите "delete" и все… пропало.

На следующем этапе мы рассмотрим создание таблиц, типы данных в transact-sql.




Top