1. Главная страница » Компьютеры » Ms sql файлы базы данных

Ms sql файлы базы данных

Автор: | 16.12.2019

В этой небольшой заметке я покажу Вам два способа, как можно получить список баз данных на языке T-SQL в Microsoft SQL Server. Первый способ заключается в использовании системного представления sys.databases, второй — в использовании системной хранимой процедуры sp_helpdb.

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

Получаем список баз данных с помощью представления sys.databases

Сейчас мы напишем SQL запрос с использованием системного представления sys.databases, который покажет нам список баз данных на экземпляре Microsoft SQL Server.

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

В данном случае для примера мы выведем следующие параметры баз данных:

  • Идентификатор базы данных;
  • Название базы данных;
  • Дату создания базы данных;
  • Состояние базы данных;
  • Уровень совместимости;
  • Модель восстановления.

Более детально посмотреть обо всех параметрах, которые возвращает представление sys.databases, можете посмотреть в официальной документации по Transact-SQL – Системное представление sys.databases

Выводим список баз данных с помощью процедуры sp_helpdb

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

Процедура sp_helpdb возвращает следующие данные:

  • name — Название базы данных;
  • db_size — Общий размер базы данных;
  • owner — Владелец базы данных;
  • db >

Теперь Вы знаете, как можно вывести список баз данных в Microsoft SQL Server. Если Вы начинающий программист и хотите еще больше узнать о языке T-SQL, то рекомендую почитать книгу «Путь программиста T-SQL», в ней очень подробно, специально для начинающих, рассказано про все основные конструкции языка, она включает много примеров и полезных советов.

Современные базы данных могут хранить самые различные виды информации. В том числе, целые файлы.

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

Современные системы управления, базами данных, включая Microsoft SQL Server (MS SQL), и средства программирования прекрасно справляются с данной задачей.

Существуют два способа хранения файлов в базах данных MS SQL.

  • Хранение файла в поле с двоичными данными (тип данных VARBINARY(MAX));
  • Использование файловых таблиц.

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

Суть этого способа предельно проста. Создаётся поле с типом данных VARBINARY(MAX) (именно этот тип данных может сохранять в себе файлы, в том числе, весьма внушительных размеров) и в него из клиентской программы загружаются файлы в виде двоичных данных.

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

Читайте также:  Iherb код для новых покупателей

Вот примерный вариант такой таблицы:

  • id – уникальный идентификатор. Первичный ключ;
  • fileName – строковое поле (например, nvarchar(255)) с именем файла;
  • binaryData – поле с двоичными данными (VARBINARY(MAX)) в котором собственно и хранится файл.

Рассмотрим работу с такой таблицей из программы клиента на примере Delphi и C#.

Загрузка и выгрузка файлов в Delphi

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

В данной теме рассматривается подключение (создание) файла базы данных к локальному екземпляру Microsoft SQL Server с помощью поставщика данных .NET Framework для SQL Server .

Содержание

  • Условие задачи
  • Выполнение
  • 1. Запуск MS Visual Studio .
  • 2. Активировать окно Server Explorer .
  • 3. Команда “ Add Connection… ”.
  • 4. Окно “ Add Connection ”.
  • 5. Создание таблицы Student .
  • 6. Создание таблицы Session .
  • 7. Редактирование структуры таблиц.
  • 8. Установление связей между таблицами.
  • 9. Внесение данных в таблицы.
  • Связанные темы
  • Условие задачи

    Создать базу данных с именем “ Education ”. В базе данных создать две таблицы, которые связаны между собой по некоторому полю.

    Структура первой таблицы « Student ».

    Структура второй таблицы “Session”.

    Таблицы должны быть связаны между собой по полю Num_book .

    Выполнение

    1. Загрузить MS Visual Studio .
    2. Активировать окно Server Explorer .

    Файл базы данных с расширением “ *.mdf ” относится к серверу реляционных баз данных Microsoft SQL Server . Файл содержит непосредственно базу данных.

    При создании “ *.mdf ” файла базы данных также создается файл с расширением “ *.ldf ”, который содержит журнал транзакций.

    Перед созданием базы данных, нужно активировать утилиту Server Explorer . Для этого, в MS Visual Studio нужно вызвать (рисунок 1)

    Рис. 1. Вызов Server Explorer

    3. Команда “ Add Connection… ”.

    Для вызова окна создания базы данных в формате mdf нужно вызвать команду Add Connection . Команда Add Connection вызывается двумя способами. Первый способ – это вызов контекстного меню (клик правой кнопкой мыши) на элементе ” Data Connection… ” (рисунок 2).

    Рис. 2. Вызов команды Add Connection из контекстного меню

    Второй способ – это вызов команды “ Connect to Database… ” из меню Tools главного меню Microsoft Visual Studio . Также эту команду можно вызвать из Server Explorer кликом на соответствующей кнопке (рисунок 3).

    Рис. 3. Команда “ Connect to Database… ”

    4. Окно “ Add Connection ”.

    В результате выполнения предыдущей команды откроется окно “ Add Connection ” (рисунок 4). В этом окне пользователь имеет возможность:

    • выбрать источник данных ( Data source );
    • создать новый или выбрать уже существующий файл базы данных ( Database file name );
    • если нужно, задать пароль входа в базу данных;
    • проверить соединение с базой данных (кнопка Test Connection );
    • настроить другие параметры вызовом кнопки « Advanced» .

    Рис. 4. Окно “ Add Connection ”

    В качестве источника данных Microsoft Visual Studio предлагает базу данных Microsoft Access . Для создания “ *.mdf ” файла базы данных MS SQL Server нужно изменить источник данных выбором кнопки “ Change… ”.

    В результате откроется второе окно “ Change Data Source ” (рисунок 5). В этом окне выбирается источник данных и провайдер.

    Система MS Visual Studio предлагает следующие виды источников данных:

    • база данных Microsoft Access , которая содержится в файле формата “ *.mdb ”;
    • база данных, которая поддерживает доступ с помощью драйвера ODBC ;
    • база данных типа Microsoft SQL Server , в том числе и локальный сервер SQLEXPRESS ;
    • база данных “ Microsoft SQL Server Compact 3.5 ”, которая размещается в файлах с расширением “ *.sdf ”;
    • база данных “ Microsoft SQL Server Database File ”, которая содержится в файлах формата “ *.mdf ”;
    • база данных Oracle .
    Читайте также:  Hp 1010 индикация ошибок

    Для создания “ *.mdf ” файла базы данных Microsoft SQL Server нужно выбрать источник данных “ Microsoft SQL Server Database File ” как зображено на рисунке 5.

    Рис. 5. Окно “ Change Data Source ”

    После изменения источника данных в окне Add Connection в поле “ Database file name (new or existing): ” нужно ввести имя создаваемой базы данных. Если нужно выбрать “ *.mdf ” файл уже существующей базы данных, то для этого предназначена кнопка “ Browse… ”.

    В нашем случае нужно ввести название базы данных “ Education ”, как изображено на рисунке 6.

    Рис. 6. Создание базы данных Education

    После подтверждения на “ OK ”, система выведет окно, как изображено на рисунке 7. Предлагается системная папка по умолчанию:

    Если нужно установить другую папку, для этого используется кнопка “ Browse… ” из окна “ Add Connection ”.

    Рис. 7. Предложение создать файл “ Education.mdf ”

    После подтверждения, база данных Education.mdf будет создана (рисунок 8).

    Рис. 8. Новосозданная база данных “ Education.mdf ”

    5. Создание таблицы Student .

    На данный момент база данных Education абсолютно пустая и не содержит никаких объектов (таблиц, сохраненных процедур, представлений и т.д.).

    Чтобы создать таблицу, нужно вызвать контекстное меню (клик правой кнопкой мышки) и выбрать команду “ Add New Table ” (рисунок 9).

    Рис. 9. Команда добавления новой таблицы

    Существует и другой вариант добавления таблицы базы данных с помощью команд меню Data (рисунок 10):

    Рис. 10. Альтернативный вариант добавления новой таблицы

    В результате откроется окно добавления таблицы, которое содержит три столбца (рисунок 11). В первом столбце “ Column Name ” нужно ввести название соответствующего поля таблицы базы данных. Во втором столбце “ Data Type ” нужно ввести тип данных этого поля. В третьем столбце “ Allow Nulls ” указывается опция о возможности отсутствия данных в поле.

    Рис. 11. Окно создания новой таблицы

    С помощью редактора таблиц нужно сформировать таблицу Student как изображено на рисунке 12. Имя таблицы нужно задать при ее закрытии.

    В редакторе таблиц можно задавать свойства полей в окне Column Properties . Для того, чтобы задать длину строки ( nvchar ) в символах, в окне Column Properties есть свойство Length . По умолчанию значения этого свойства равно 10.

    Рис. 12. Таблица Student

    Следующим шагом нужно задать ключевое поле. Это осуществляется вызовом команды “ Set Primary Key ” из контекстного меню поля Num_book (рисунок 13). С помощью ключевого поля будут установлены связи между таблицами. В нашем случае ключевым полем есть номер зачетной книжки.

    Рис. 13. Задание ключевого поля

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

    Рис. 14. Таблица Student после окончательного формирования

    Теперь можно закрыть таблицу. В окне сохранения таблицы нужно задать ее имя – « Student» (рисунок 15).

    Рис. 15. Ввод имени таблицы Student

    6. Создание таблицы Session .

    По образцу создания таблицы Student создается таблица Session .

    На рисунке 16 изображен вид таблицы Session после окончательного формирования. Первичный ключ ( Primary Key ) устанавливается в поле Num_book . Имя таблицы задается Session .

    Рис. 16. Таблица Session

    После выполненных действий, в окне Server Explorer будут отображаться две таблицы Student и Session .

    Таким образом, в базу данных можно добавлять любое количество таблиц.

    7. Редактирование структуры таблиц.

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

    Для того, чтобы вносить изменения в таблицы базы данных в MS Visual Studio , сначала нужно снять опцию “ Prevent Saving changes that require table re-creation ” как показано на рисунке 17. Иначе, MS Visual Studio будет блокировать внесения изменений в ранее созданную таблицу. Окно Options , показанное на рисунке 17 вызывается из меню Tools в такой последовательности:

    Читайте также:  Asrock a75 pro4 m

    Рис. 17. Опция “ Prevent Saving changes that require table re-creation ”

    После настройки можно изменять структуру таблицы. Для этого используется команда “Open Table Definition ” (рисунок 18) из контекстного меню, которая вызывается для выбранной таблицы (правый клик мышкой).

    Рис. 18. Вызов команды “ Open Table Definition ”

    Также эта команда размещается в меню Data :

    Предварительно таблицу нужно выделить.

    8. Установление связей между таблицами.

    В соответствии с условием задачи, таблицы связаны между собою по полю Num_book.

    Чтобы создать связь между таблицами, сначала нужно (рисунок 19):

    • выделить объект Database Diagram ;
    • выбрать команду Add New Diagram из контекстного меню (или из меню Data );
    • подтвердить создание нового объекта-диаграммы (рисунок 20).

    Рис. 19. Вызов команды добавления новой диаграммы

    Рис. 20. Сообщение о создании объекта-диаграммы

    В результате откроется окно добавления новой диаграммы Add Table (рисунок 21). В этом окне нужно выбрать последовательно две таблицы Session и Student и нажать кнопку Add.

    Рис. 21. Окно добавления таблиц к диаграмме

    В результате будет создан новый объект с двумя таблицами Student и Session (рис. 22).

    Рис. 22. Таблицы Student и Session после добавления их к диаграмме

    Чтобы начать устанавливать отношение между таблицами, надо сделать клик на поле Num_book таблицы Student , а потом (не отпуская кнопку мышки) перетянуть его на поле Num_book таблицы Session .

    В результате последовательно откроются два окна: Tables and Columns (рис. 23) и Foreign Key Relationship (рис. 24), в которых нужно оставить все как есть и подтвердить свой выбор на OK .

    В окне Tables and Columns задается название отношения ( FK_Session_Student ) и названия родительской ( Student ) и дочерней таблиц.

    Рис. 23. Окно Tables and Columns

    Рис. 24. Окно настройки свойств отношения

    После выполненных действий будет установлено отношение между таблицами (рисунок 25).

    Рис. 25. Отношение между таблицами Student и Session

    Сохранение диаграммы осуществляется точно также как и сохранение таблицы. Имя диаграммы нужно выбрать на свое усмотрение (например Diagram1 ).

    После задания имени диаграммы откроется окно Save , в котором нужно подтвердить свой выбор (рисунок 26).

    Рис. 26. Подтверждение сохранения изменений в таблицах

    9. Внесение данных в таблицы.

    Система Microsoft Visual Studio разрешает непосредственно вносить данные в таблицы базы данных.

    В нашем случае, при установлении связи (рис. 22) первичной ( Primary Key Table ) выбрана таблица Student . Поэтому, сначала нужно вносить данные в ячейки именно этой таблицы. Если попробовать сначала внести данные в таблицу Session , то система заблокирует такой ввод с выводом соответствующего сообщения.

    Чтобы вызвать режим ввода данных в таблицу Student , нужно вызвать команду Show Table Data из контекстного меню (клик правой кнопкой мышки) или с меню Data (рис. 27).

    Рис. 27. Команда Show Table Data

    Откроется окно, в котором нужно ввести входные данные (рис. 28).

    Рис. 28. Ввод данных в таблице Student

    После внесения данных в таблицу Student нужно внести данные в таблицу Session .

    При внесении данных в поле Num_book таблицы Session нужно вводить точно такие же значения, которые введены в поле Num_book таблицы Student (поскольку эти поля связаны между собой).

    Например, если в поле Num_book таблицы Student введены значения “1134”, “1135”, “1221” (см. рис. 28), то следует вводить именно эти значения в поле Num_book таблицы Session . Если попробовать ввести другое значение, система выдаст приблизительно следующее окно (рис. 29).

    Рис. 29. Сообщение об ошибке ввода данных связанных таблиц Student и Session

    Таблица Session с введенными данными изображена на рисунке 30.

    Рис. 30. Таблица Session с введенными данными

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

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    ×