Лекция № 2

Тема: " Работа с базами данных в разных СУБД"

 

        План

    1. Работа с базами данных в SQL Server

    2. Работа с базами данных в MySQL

    3. Работа с базами данных в SQLite

 

1. Работа с базами данных в SQL Server

База данных SQL Server хранится в самостоятельном, уникальному для каждой БД, наборе файлов. Кроме того, журнал транзакции и сами данные обязательно хранятся отдельно. Это повышает отказоустойчивость базы данных в случае сбоев системы.

Для хранения базы данных предназначен набор файлов, персональный для любой базы данных. Каждый файл может принадлежать только одной базе данных. В SQL Server существуют два типа файлов базы данных:

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

Если компьютер, на котором установлен SQL Server, имеет множество физических дисков, то для повышения производительности настоятельно рекомендуется для каждой базы данных создать как минимум один файл на каждом физическом диске. Кроме того, по возможности нужно располагать файлы данных и журнала транзакций на отдельных физических дисках. Это благоприятно скажется на производительности.

Файлы данных бывают двух типов:

Любой файл базы данных идентифицируется по двум именам:

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

 

Планирование конфигурации базы данных

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

 

Планирование размещения файлов

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

Выбирая диск, на котором будут располагаться файлы базы данных, нужно обратить внимание на количество свободного пространства на диске. Необходимо учесть возможность увеличения в будущем файлов базы данных. Кроме того, для достижения максимальной производительности нужно размещать файлы базы данных на логических дисках, которые принадлежат разным физическим дискам. Дополнительное повышение производительности возможно за счет подключения дисков к разным контролерам.

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

Если на компьютере с SQL Server установленно множество жестких дисков, то нужно расположить на каждом из них как минимум по одном файлу базы данных. В сложных базах данных на каждом физическом диске можно размещать несколько файлов.

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

 

Возможность автоматического роста файлов

Количество информации в базах данных имеет тенденцию со временем увеличиваться. В SQL Server реализованная возможность автоматического увеличения размера базы данных. При создании базы для каждого ее файла (данных и журнала транзакций) необходимо указать начальный размер файла и шаг увеличения. Шаг увеличения можно указывать как в абсолютных единицах, так и в процентах от начального размера.

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

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

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

 

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

Прежде чем приступить непосредственно к описанию создания баз данных, следует немного рассказать, что же представляет собой этот процесс. На уровне операционной системы будет создан набор файлов, который и станет представлять базу данных. Напомним, что каждая база данных как минимум состоит из двух файлов – один для данных и один для журнала транзакций. Кроме этих двух файлов могут быть созданы дополнительные файлы данных и журнала транзакций. Один из файлов данных является первичным (primary) и содержит все системные таблицы базы данных.

Использование Transact-SQL

Создание базы данных средствами Transact-SQL предоставляет администратору максимальные возможности. Для создания базы данных существует следующая команда Transact-SQL:

 

create database имя_бд

[on primary

    (файл1),

    (файл2),

    ...,

    (файлn)]

log on

    (файл1),

    (файл2),

    ...,

    (файлn)]

 

Рассмотрим назначение параметров команды:

имя_бд. Этот параметр определяет имя, которое будет присвоено базе данных. Имя базы данных указывается в формате Unicode и может быть длиной до 128 символов.

Все другие параметры не обязательны. Если они не заданы, то БД будет состоять из двух файлов: файл данных с именем "имя_БД.mdf" и файла журнала транзакций с именем "имя_БД_log.ldf". При этом первый файл будет иметь размер 3Mb и шаг прироста - 1Mb, а второй файл - 1 Mb и шаг прироста - 10%. Размещаться файлы будут в папке Data, которая находится в папке с установленной СУБД SQL Server.

Если вы хотите более полно управлять параметрами создания БД, то тогда можно задать ряд дополнительных параметров.

on primary. Присутствие этого ключевого слова свидетельствует о том, что дальше идет определение файлов данных, из которых будет состоять база данных.

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

 

Описание файлов

Рассмотрим, каким образом описываются файлы базы данных. Как уже было сказано, и файлы данных, и файлы журнала транзакций определяются одинаково. Конструкция описания файлов имеет следующий синтаксис:

 

(name = имя_файла, filename = 'путь к файлу', size = размер, filegrowth = шаг)

 

Рассмотрим назначение и использование приведенных параметров:

name = имя_файла. С помощью данного параметра указывается логическое имя файла базы данных. Именно с помощью этого имени пользователи будут ссылаться на описываемый файл базы данных. Логическое имя можно рассматривать как своего рода псевдоним, который позволяет избавиться от физических имен, которые довольно длинны. Логическое имя файла должно быть уникальным в пределах базы данных.

filename = 'путь к файлу'. Этот параметр предназначен для определения физического имени файла. Если логическое имя используется при работе с файлом на уровне SQL Server, то физическое имя назначенное для работы на уровне операционной системы и представляет собой совокупность имени файла и полного пути к нему. Разрешается размещения файла в любой папке любого локального диска. Однако не допускается размещения файлов на сетевых ресурсах.

size = размер. Данный параметр позволяет указывать размер, который будет иметь описываемый файл базы данных сразу же после создания. Если данный параметр опускается, то при создании вторичного файла (secondary file) данных он будет иметь размер 1 Мбайт. Для первичного файла данных по умолчанию используется размер, который составляет 512 Кбайт. Размер файла может задаваться как целое число. Однако, допускается использование разных суффиксов, которые означают разную величину – KB для килобайт, MB для мегабайт, GB для гигабайт и TB для терабайт. Если никакой суффикс не указан, то по умолчанию используется MB.

filegrowth = шаг. Используя данный параметр, можно указать шаг увеличения, согласно которому сервер будет автоматически увеличивать размер файла. Шаг увеличения может быть задан или как абсолютное, или как относительное значение. Разрешается применения суффиксов КВ, МВ, GB, ТВ и %. Указание каждого из первых четверых суффиксов рассматривается как указания абсолютного шага увеличения, тогда как суффикса % – как относительное. Если шаг увеличения приводится без суффикса, то автоматически используется суффикс МВ. Шаг увеличения может указываться только как целое число. При конфигурировании относительного шага увеличения нужно учитывать, что собственно шаг увеличения ( в абсолютном выражении) исчисляется относительно начального размера файла (указанного с помощью параметра SIZE), а не относительно текущего размера файла.

 

Пример создания базы данных

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

Создадим БД Demo с параметрами по умолчанию.

 

create database demo

 

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

 

create database primer

on primary

(name=f1, filename='c:\db\f1.mdf', size=120mb, filegrowth=15%),

(name=f2, filename='d:\db\f2.ndf', size=150mb, filegrowth=25 mb),

(name=f3, filename='e:\db\f3.ndf', size=100 mb, filegrowth=25%)

log on

(name=fl1, filename='c:\db\fl1.ldf',  size=10mb, filegrowth=10%),

(name=fl2, filename='d:\db\fl2.ldf', size=15mb, filegrowth=5%)

 

Использование SQL Server Manager Studio

Выше были рассмотрены способы создания базы данных средствами Transact-SQL. Создание базы данных можно осуществить средствами графического интерфейса.

После запуска утилиты и регистрации в левой части программы отобразится дерево объектов СУБД.

Для управления базами данных SQL Server используется папка " Базы данных". Создание новой базы данных выполняется с помощью окна "Создание базы данных". Открыть это окно можно выбрав в контекстном меню папки " Базы данных" команду "Создать базу данных".

 

 

В верхнем поле введите имя БД. В табличной части для каждого файла введите параметры: логическое имя, тип файла (файл данных или файл журнала транзакций), начальный размер и шаг прироста размера, путь к файлу, имя файла.

Начальный размер и шаг прироста задается в дополнительном окне.

 

 

Количество файлов регулируется с помощью кнопок Добавить и Удалить.

После ввода всех параметров щелкните на кнопке ОК.

Уменьшение размера базы данных

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

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

·         на уровне базы данных с помощью команды dвсс shrinkdatabase

·         на уровне отдельного файла с помощью команды dbcc shrikkfile

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

Для начала рассмотрим уменьшение размера отдельного файла базы данных. Соответствующая команда имеет следующий синтаксис:

 

dbcc shrinkfile (имя_файла, [размер], [emptyfile], [notruncate], [truncateonly])

 

Рассмотрим назначение параметров команды:

имя_файла. Логическое имя файла базы данных, размер которого предполагается уменьшить. Заметим, что команда DBCC SHRINKFILE работает только с текущей базой данных. Поэтому, прежде чем выполнять усечение размера базы данных, необходимо переключиться в нужную базу данных (например, с помощью команды USE  имя_БД).

размер. Данный параметр определяет величину, к которой желательно уменьшить размер файла. Если объем информации, которая хранится в файле, меньше указанного объема, то файл будет уменьшен до указанного размера. А если нет, то новый размер файла будет отвечать объему информации, которая хранится в нем. Отметим, что размер должен задаваться как целое число. Допускается использования суффиксов. Если параметр РАЗМЕР опускается, то сервер будет стараться уменьшить размер файла до первоначального размера.

emptyfile. При указании этого параметра сервер выполняет полное освобождение файла путем переноса данных, которые хранятся в нем, в другие файлы базы данных. Такая операция является обязательной, если нужно удалить файл, потому что сервер не позволяет удаления файлов, которые содержат данные. Указание параметра РАЗМЕР в этом случае не допускается.

notruncate. При задании этой опции сервер выполнит перенос данных в начало файла в соответствии со значением РАЗМЕР, но не будет осуществлять физического уменьшения размера файла. Таким образом, данные смещаются к началу файла. Со временем свободная часть файла может быть возвращена операционной системе.

truncateonly. При указанию этого параметра сервер выполняет возврат  системе всего пространства файла, которое находится за последней использованной страницей файла. Однако при этом не проводится никакого переноса данных, и значение параметра РАЗМЕР игнорируется. Рекомендуется предварительно освободить конец файла с применением предыдущего параметра.

В качестве примера рассмотрим уменьшение размера файла F1 базы данных PRIMER.

 

use primer

dbcc shrinkfile(f1)

 

Пример освобождения файла F2 базы данных PRIMER.

 

use primer

dbcc shrinkfile(f1, emptyfile)

 

Мы рассмотрели уменьшение размера отдельного файла. Теперь же обратимся к команды DBCC  SHRINKDATABASE. Она  позволяет уменьшать суммарный размер файлов базы данных. Команда имеет синтаксис:

 

dbcc shrinkdatabase( имя_бд, [размер])

 

Рассмотрим назначение и использование параметров команды:

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

размер. С помощью данного параметра определяется процент свободного пространства, которое необходимо оставить в базе данных после выполнения команды. Если РАЗМЕР не указать, то БД уменьшается к минимально возможному значению без резервирования свободного места в ней. Отметим, что для параметра РАЗМЕР нельзя указывать значение, которые превышает текущий процент свободного пространства. Уменьшение размера базы данных выполняется путем уменьшения размера всех файлов данных, которые входят в базу данных. Таким образом, команду DBCC SHRINKDATABASE можно рассматривать как серию команд DBCC SHRINKFILE, параметры которых вычисляются автоматически сервером.

В качестве примера рассмотрим уменьшение БД Demo до минимального уровня:

 

dbcc shrinkdatabase (demo)

 

Рассмотрим уменьшение объема неиспользуемого пространства в базе данных PRIMER до 20%:

 

dbcc shrinkdatabase (primer, 20)

 

 

Для уменьшения файлов или БД с помощью утилиты щелкните правой кнопкой на базе данных, выберите команды "Задачи - Сжать - База данных" или "Задачи - Сжать - Файлы". В окне укажите параметры сжатия и щелкните на кнопке ОК.

 

Внесение изменений в базу данных

Для изменения базы данных применяется команда Transact-SQL, которая позволяет выполнить такие операции:

 Добавление файлов данных

Для добавления новых файлов данных используют команду:

 

alter database имя_бд

[add file

    (файл1),

    (файл2),

    …,

    (файлn)]

 

Приведем пример добавления двух файлов данных в базу данных PRIMER.

 

alter database primer

add file

(name=f4, filename='f:\db\f4.ndf', size=120mb, filegrowth=15%),

(name=f5, filename='g:\db\f5.ndf', size=150mb, filegrowth=25 mb)

 

Добавление файлов журнала транзакций

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

 

alter database имя_бд

add log file

    (файл1),

    (файл2),

     …,

    (файлn)

 

Приведем пример добавления двух файлов журнала транзакций в базу данных PRIMER.

 

alter database primer

add log file

(name=fl4, filename='f:\db\fl4.ldf', size=20mb, filegrowth=5%),

(name=fl5, filename='g:\db\fl5.ldf', size=50mb, filegrowth=5 mb)

 

Удаление файлов с базы данных

Для удаления файла данных из БД используют команду:

 

alter database имя_бд

remove file имя_файла

 

Выполнение команды предлагает удаления из базы данных одного из файлов, логическое имя которого указывается с помощью параметра ИМЯ_ФАЙЛА. При этом выполняется и физическое удаление файла с жесткого диска. Однако файл нельзя удалить до тех пор, пока он не будет освобожден от всех данных. Выполнение этой операции было рассмотрено в разделе «Уменьшение размера базы данных».

Приведем пример удаления файла F3 с базы данных PRIMER.

 

use primer

dbcc shrinkfile (f3, emptyfile)

alter database primer

remove file f3

 

Изменить набор файлов БД с помощью утилиты можно, если на БД щелкнуть правой кнопкой и избрать команду "Свойства". В окне параметров перейти на закладку «Файлы».

 

Переименование базы данных

Базу данных можно переименовать с помощью команды:

 

alter database имя_бд

modify name = новое_имя_бд

 

Переименуем базу данных PRIMER на PRIMER1.

 

alter database primer

modify name=primer1

 

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

 

Замечание: если к БД подключены клиенты, то переименовать ее не удастся. В этом случае БД нужно переводить в монопольный режим работы, а затем выполнять переименование (см. ниже).

 

Изменение уровня доступа к БД

Выполнение операции переименования, отсоединения/присоединения и удаления (см. ниже) возможно только при условии, что к БД не подключены пользователи. Если подключения есть, то необходимо их разрывать, переводя уровень доступа к БД в монопольный режим с помощью команды:

 

alter database имяБД

set single_user with rollback immediate

 

После выполнения необходимых операций нужно перевести уровень доступа к БД в многопользовательский режим с помощью команды:

 

alter database имяБД

set multi_user

 

Например, если БД не удаляется с помощью рассмотренный выше команды, то запишите код так:

 

--переводим БД в монопольный режим

alter database primer

set single_user with rollback immediate;

go

--переименовываем БД

alter database primer

modify name=primer1

go

--возвращаем БД с новым именем в многопользовательский режим

alter database primer1

set multi_user

 

Эти же операции можно выполнить в окне утилиты с помощью мыши:

- в контекстном меню нужной БД выберите команду "Свойства";

- в левой части открывшегося окна выберите команду "Параметры";

- в правой части окна в конце таблицы установите параметр "Ограничения доступа" в значение "SINGLE_USER" (монопольный доступ) или "MULTI_USER" (многопользовательский доступ).

 

Отсоединение и присоединение базы данных

При работе с SQL Server разрешается выполнять отсоединение базы данных. Отсоединение является операцией, в результате которой сервер перестает воспринимать базу данных. Эту операцию можно сравнить с удалением базы данных с тем отличием, что при отсоединении базы данных не выполняется удаления ее файлов. Такая база данных со временем может быть присоединена к серверу.

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

 

exec sp_detach_db 'имя_бд', 'true'

 

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

Отсоединенная база данных может быть со временем присоединенная. При этом не выполняется создания файлов базы данных, а используются существующие файлы. Присоединение базы данных выполняется с помощью команды:

 

exec sp_attach_db @dbname='имя_БД' ,

                  @filename1='полный путь к файла БД',

                  @filename2='полный путь к файла БД',

                  . . .

                  @filenameN='полный путь к файла БД'

 

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

 

exec sp_attach_db @dbname='primer',

                  @filename1='c:\db\f1.mdf',

                  @filename2='d:\db\f2.ndf',

                  @filename3='e:\db\f3.ndf',

                  @filename4='c:\db\fl1.ldf',

                  @filename5='d:\db\fl2.ldf'

 

Для отсоединения БД при работе с утилитой в контекстном меню БД имеется команда "Задачи - Отсоединить", а затем в новом окне включите флажки "Удалить соединения" и "Обновить статистику".

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

 

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

Логическим завершением манипуляций с базой данных является ее удаления. Для выполнения этой операции используется следующая команда:

 

drop database имя_бд1, имя_бд2, …, имя_бдN

 

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

Для удаления БД с помощью утилиты в ее контекстном меню выберите команду "Удалить", а затем в новом окне внизу включить флажок "Закрыть существующие соединения".

 

2. Работа с базами данных MySQL

БД в MySQL – это отдельная папка, в которой находятся файлы отдельных таблиц. Все эти папки с базами данных находятся в конкретном месте на диске компьютера. Это место определяется при установке MySQL на компьютер (см. лекцию 1).

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

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

Для создания БД в правой части окна утилиты выберите команду "Создать базу данных". Запустится мастер. На первом шаге мастера укажите имя БД. На следующем шаге нужно ввести регистрационные дани для доступа к серверу.

MySQL – это клиент/серверная СУБД, для работы с которой нужно проходить процедуру идентификации с помощью учетных записей. При регистрации нужно указать имя сервера. Если MySQL установлен на текущем компьютере, то его имя – "localhost". Также надо указать имя и пароль. По умолчанию на сервере всегда есть учетная запись с именем "root". Пароль для этого имени задается при установке сервера на компьютер.

После задания всех параметров на следующем шаге вы можете просмотреть SQL команду, которую сгенерировала утилита, щелкните на кнопке "Запустить" и в новом окне подтвердите создание БД.

После создания БД ее имя появится в левой части окна. Двойным клацаньем откройте БД и она будет готова для дальнейшей работы.

 

Создание БД с помощью команд

БД также возможно создать с помощью команды:

 

create database [if not exists] имя_бд;

 

Параметр IF NOT EXISTS позволяет предотвратить перезапись существующей БД. Если параметр не указан, а в качетсве имени БД указано имя существующей БД, то старая версия будет автоматически заменена новой.

Также обратите внимание, что в MySQL команда заканчивается точкой с запятой.

 

Для ввода команд в окне утилиты EMS SQL Manager выполните команду "Инструменты – Показать редактора SQL", введите нужную команду и щелкните на команде "Выполнить".

Если БД создана с помощью команды, то она не появится автоматически в левой части окна утилиты. В этом случае БД нужно подключить.

Щелкните на кнопке "Зарегистрировать базу данных". В окне укажите регистрационные данные: сервер, имя, пароль. В следующей форме из списка выберите созданную БД и щелкните на кнопке "Запустить".

 В результате  в левой части окна появится имя БД. Двойным щелчком откройте БД и она будет готова для дальнейшей работы.

 

Удаление БД

Для удаления БД в окне ввода запросов нужно ввести команду:

 

drop database имя_бд;

 

После удаления БД ее имя не исчезнет в левой части окна утилиты. Нужно выбрать удаленную БД и щелкнуть на кнопке "Отменить регистрацию базы данных".

 

Узнать расположение БД

Для определения местонахождения баз данных необходимо в окне утилиты выполнить команду " Службы – Свойства сервера". В окне перейти на закладку "Системные переменные", выбрать параметр "Другое" и просмотреть значение переменной "datadir".

 

Перенос БД

Для переноса БД необходимо извлечь еев отдельный файл с помощью команду меню "Инструменты - Извлечение базы данных". В окне включите флажок "Извлечь структуру и все данные из базы данных" и щелкните на кнопке "Далее". В следующем окне укажите путь и имя файла для сохранения и щелкните на кнопке "Далее". В следующих окнах можно не менять настройки, выбранные по умолчанию, нажимать на кнопках "Далее", а затем "Запустить".  В результате будет создан файл с набором команд, необходимых для переноса базы данных со всем ее содержимым. Этот файл можно записать на внешний носитель для переноса БД.

Если восстановления БД из созданного файла выполните команду меню "Инструменты - SQL скрипт". В окне выберите команду "Открыть скрипт", укажите путь к файлу с извлеченной БД. В результате содержимое файла откроется в окне скрипта. Для его выполнения щелкните на кнопке "Выполнить скрипт". В результате на сервере будет создана БД со всеми ее объектами и содержимым.

 

3. Работа с базами данных в SQLite

В SQLite база данных – это отдельный файл. Эта СУБД не имеет команды для создания баз данных, поэтому создавать БД можно с помощью графических утилит.

Для работы с базами данных SQLite не имеет графической утилиты разработчика. Однако существует множество программ от посторонних производителей. Одной из таких утилит является программа SQLite Expert.

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

Утилита имеет вид:

 

 

Слева отображается дерево элементов БД (сама БД, таблицы и т.п.). Справа отображается содержимое текущего объекта. В верхней части правого окна имеются закладки для работы с разными объектами и механизмами БД.

Также, как и в большинстве окно Window приложений программа имеет набор команд меню и панели инструментов с набором кнопок.

 

Работа c БД

Для создания БД выполните команду "FileNew Database" или щелкните на первой кнопке панели инструментов.

 

 

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

 

 

В результате в левой части окна в дереве отобразится узел созданной БД. В контекстном меню узла можно выбрать команды по работе с самой БД, а также команды создания таблиц, представлений. В правой части на закладке "Database" отобразится информация о БД (полное имя, размер, количество таблиц, индексов, триггеров). В нижней части отобразятся кнопки для выполнения обслуживающих операций над БД:

 

- Check – проверить в БД все ограничения Check на непротиворечивость информации;

-Vacuum – удалить из БД записи, помеченные на удаление. В большинстве СУБД удаление записи не приводит к физическому ее удалению из файла, а только к пометке на удаление. В результате такие записи уже не отображаются, но занимают место на диске. Данная кнопка очищает БД от помеченных на удаление записей;

- Reindex – перестраивает индексы в случае возникновения каких-либо сбоев при работе с таблицами БД;

- Repair – восстанавливает БД в случае ее повреждения. Можно восстановить как в новый файл, так и в существующий.

 

Для удаления БД достаточно удалить файл БД из диска.

 

Вопросы для самоконтроля

1. Какие типы файлов используются для хранения БД SQL Server? Какие параметры для файла БД нужно задавать?

2. Приведите команду создания БД в SQL Server.

3. Как уменьшить размер файла БД или всей БД?

4. Приведите команды изменения параметров БД SQL Server?

5. Как для БД SQL Server изменять режим доступа (монопольный/многопользовательский)? Для чего это делается?

6. Для чего и как отсоединить или присоединить БД, как удалить БД SQL Server?

7. Что представляет собой БД MySQL? Приведите команду создания и удаления БД MySQL.