Mdf файл sql что это

Обновлено: 07.07.2024

Понятное дело, что если записываются все изменения то лог-файл просто обязан расти. Всякие фоновые задания, которые пишут по одной записи в какой-нибудь регистр в 1С делают изменения в данных, а следовательно, растет размер лога. Причем, чем больше изменений, тем больше растет ldf-файл. А такая операция, как обновление информационной базы часто ведет вообще к огромному росту, так как при обновлении информационной базы происходит много изменений в данных и это все фиксируется.
Так же на размер файла транзакций влияет и интенсивность работы пользователей. Если мы открываем один и тот же документ и каждый раз меняем один реквизит и записываем документ, то в mdf-файле ничего изменяться не будет, а вот в файле транзакций, будет 10 записей с транзакциями, каждая из которых что-то меняет.
В MS SQL возможно использование нескольких моделей восстановления данных. Это, собственно, механизм, который и отвечает за журнал транзакций.
Полная модель восстановления (Full) - фиксируются ВСЕ транзакции. При этой модели будет максимальный рост журнала транзакций, но при этом риска данных журналов практически нет.
С неполным протоколированием - похожа на полную модель восстановления, но уменьшает место, занимаемое журналами, за счет неполного протоколирования большинства массовых операций. Возможно восстановление до конца любой резервной копии.
Простая модель (Simple) - данные по журналам практически не фиксируются.

Посмотреть на вашу модель можно открыв Microsoft SQL Server Managment Studio, щелкнув на нашу БД правой кнопкой:

Модель восстановления базы данных MS SQL

Методы борьбы с размерами файла транзакций MS SQL

Итак, проблема ясна. Есть большой файл(ы) транзакций, необходимо что-то с этим делать. Так как серверные жесткие диски не всегда имеют возможность хранить логи терабайтами. Есть несколько способов борьбы с большим размеров логов.

SHRINK (сжатие) лога транзакций

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

Шаг 1. Сжатие log-файла

Откроем Microsoft SQL Server Managment Studio и "сожмем" log-файл.

Сжатие log-файла MS SQL

После этого откроется окно:

Сжатие файла MS SQL

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

Шаг 2. Переключение на простую модель восстановления

Если вы хотите на корню решить вопрос с ростом логов, то вы можете переключить модель восстановления на простую (Simple). На самом первом скриншоте выше, переключите модель на простую и нажмите OK.

Так же возможно выполнения вот такого запроса:


Этот способ наладить работу с размером логов имеет как плюсы (быстро и навсегда решает проблему роста логов), так и минусы. Например, вы теряете возможность оперативно откатывать изменения.
Важно, что речь не о полных бэкапах, а именно когда речь идет о восстановлении по данным журнала транзакций. Как пример, бэкап был вчера, а сегодня после обеда, когда было внесено 50 документов, вы случайно очистили важный документ и хотите вернуть его. Это можно сделать с помощью логов.
Некоторые считают такой метод, не верным и отчасти это так, но если вы и раньше не пользовались восстановлением данных по данным журнала транзакций, то я не думаю, что это вообще проблема для вас :)

Создание резервных копий журнала транзакций

Кроме способа описанного выше в MS SQL есть возможность создавать резервные копии журнала транзакций. Это можно сделать из Microsoft SQL Server Managment Studio:

Резервная копия журнала транзакций MS SQL

А следующим шагом:

Резервная копия журнала транзакций MS SQL

Важно! Делая бэкап журнала транзакций мы усекаем его. MS SQL понимает, что копия журнала сделана, а значит можно уменьшить размер log-файла.

Это же самое можно выполнить запросом:

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

Логическая структура хранения SQL Server - это группа файлов, экстент и страница данных.
SQL Server отображает базу данных как набор файлов операционной системы. Данные и информация журнала никогда не смешиваются в одном файле, иФайл используется только одной базой данных, Файловая группа - это именованная коллекция файлов, используемая для упрощения задач хранения и управления данными (например, операций резервного копирования и восстановления).

Файл базы данных

Базы данных SQL Server имеют три типа файлов:

  • Файл основных данных
    Основной файл данных является отправной точкой базы данных. Помимо системы хранения и пользовательских данных, в файле основных данных также хранится такая информация, как путь, имя и размер всех файлов вспомогательных данных в базе данных и файл журнала повторов. SQL Server получает информацию о других файлах данных и восстанавливает файлы журналов, читая основной файл данных. Эта функция аналогична управляющему файлу Oracle. Каждая база данных имеет файл основных данных. Рекомендуемое расширение файла для файла основных данных .mdf.
  • Вторичный файл данных
    Все остальные файлы данных, кроме основного файла данных, являются вторичными файлами данных, которые обычно хранят только пользовательские данные. Некоторые базы данных могут не содержать никаких вторичных файлов данных, в то время как некоторые базы данных содержат несколько вторичных файлов данных. Рекомендуемое расширение файла для вторичных файлов данных .ndf.
  • Лог-файл
    Файл журнала содержит всю информацию журнала, используемую для восстановления базы данных. В каждой базе данных должен быть хотя бы один файл журнала, разумеется, их может быть несколько. Рекомендуемое расширение файла для файлов журнала .ldf.

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

  • При использовании оператора CREATE DATABASE с опцией FOR ATTACH или FOR ATTACH_REBUILD_LOG для присоединения базы данных.
  • При обновлении с SQL Server 2000 или 7.0.
  • При восстановлении основной базы данных.

Группа файлов базы данных

Для облегчения распространения и управления объекты базы данных и файлы могут быть разделены на группы файлов вместе. Файловая группа SQL Server состоит из несколькихДата файлысочинение.
Файловая группа SQL Server - это основная файловая группа и пользовательская файловая группа, которые соответствуют системному табличному пространству и пользовательскому табличному пространству в базе данных Oracle соответственно.

  • основная группа файлов
    Основная группа файлов содержит основной файл данных и любые другие файлы, которые явно не назначены другим группам файлов. Все страницы системных таблиц размещены в основной файловой группе. Подобно системному табличному пространству базы данных Oracle, первичная файловая группа не может быть удалена, и ее имя первичное также является фиксированным и не может быть изменено.
  • Пользовательская группа файлов
    Пользовательская файловая группа - это любая файловая группа, указанная с помощью ключевого слова FILEGROUP в операторе CREATE DATABASE или ALTER DATABASE.

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

Файл не может быть членом нескольких групп файлов. Таблицы, индексы и данные больших объектов могут быть связаны с указанными группами файлов. В этом случае все их страницы будут выделены для группы файлов, или таблица и индекс будут разделены. Данные секционированных таблиц и индексов делятся на блоки, и каждый блок может быть помещен в отдельную файловую группу в базе данных.
В базе данных SQL Server запрещается удалять группу файлов, содержащую таблицу или индекс. Это отличается от Oracle. В Oracle, если табличное пространство содержит данные, когда табличное пространство удаляется с помощью отбрасывания табличного пространства , Вы можете добавить пункт включения содержимого.
Файловая группа в каждой базе данных назначается файловой группой по умолчанию. Если при создании таблицы или индекса файловая группа не указана, предполагается, что все страницы выделены из файловой группы по умолчанию. Только одна файловая группа может быть файловой группой по умолчанию одновременно. Если файловая группа по умолчанию не указана, основная файловая группа используется в качестве файловой группы по умолчанию. Члены предопределенной роли базы данных db_owner могут переключать файловую группу по умолчанию из одной файловой группы в другую.

Правила разработки для файлов и групп файлов
Следующие правила применяются к файлам и группам файлов:

  • Файл или файловая группа не могут использоваться несколькими базами данных. Например, никакая другая база данных не может использовать файлы sales.mdf и sales.ndf, которые содержат данные и объекты в базе данных продаж.
  • Файл может быть членом только одной группы файлов.
  • Файлы журнала транзакций не могут принадлежать какой-либо файловой группе.

Площадь (протяженность)

Экстент - это единица, которая выделяет место для хранения таблицы или индекса, а также является основной единицей управления пространством.
В SQL Server размер экстента представляет собой фиксированные 8 последовательных страниц данных, 64 КБ, что означает, что в базе данных SQL Server имеется 16 областей на МБ. При создании файловой группы нельзя указывать размер экстента, аналогичный условиям автоматического выделения или единообразного размера в Oracle, поэтому SQL Server менее гибок.

4444657-89752b3d716ca7ab.jpg

SQL Server выделяет экстенты для таблиц не так, как в Oracle. Чтобы сделать выделение пространства эффективным, SQL Server не будет выделять все области таблицам, которые содержат небольшой объем данных, поэтому SQL Server не будет выделять экстенты для пустых таблиц, и выделение расширений будет отложено до тех пор, пока записи не будут добавлены в таблицу.
SQL Server имеет два типа зон:

  • Смешанная область (смешанный экстент): смешанная область используется несколькими таблицами или индексами и может использоваться несколькими объектами. Каждая из восьми страниц в зоне может принадлежать другому объекту.
  • Единая степень: Единая степень принадлежит одному объекту. Все 8 страниц в зоне могут быть предназначены только для одной таблицы или индекса.

Обычно первые 8 страниц данных, выделенных для таблицы или индекса, размещаются в смешанной зоне, а последующие страницы данных - в объединенной зоне. Этот метод отличается от Oracle. Зона Oracle может быть назначена только одной таблице или индексу. Несколько объектов не могут быть общими, или можно сказать, что Oracle имеет только один тип объединенной зоны в SQL Server.

4444657-42eb97a127da477e.jpg

Управление файловыми группами и файловыми группами SQL Server

  • <add_or_modify_files> :: = </ add_or_modify_files>: укажите файлы, которые будут добавлены, удалены или изменены.
  • имя_базы_данных: имя базы данных, которую нужно изменить.
  • ДОБАВИТЬ ФАЙЛ: Добавить файл в базу данных.
  • TO FILEGROUP : укажите группу файлов, в которую нужно добавить указанный файл.
  • ADD LOG FILE: Добавьте файл журнала, который будет добавлен в указанную базу данных.
  • УДАЛИТЬ ФАЙЛ логическое_файл_имя: удалите описание логического файла и удалите физический файл из экземпляра SQL Server. Если файл не пуст, файл не может быть удален.
  • логическое_файл_имя: логическое имя, используемое при обращении к файлу в SQL Server.
  • MODIFY FILE: укажите файл, который необходимо изменить. Если указан SIZE, новый размер должен быть больше текущего размера файла.
    Чтобы изменить логическое имя файла данных или файла журнала, укажите имя логического файла для переименования в предложении NAME и укажите новое логическое имя файла в предложении NEWNAME. Например:

Чтобы переместить файлы данных или файлы журналов в новое место, укажите текущее логическое имя файла в предложении NAME и укажите новый путь и имя файла операционной системы (физическое) в предложении FILENAME. Например:

  • os_file_name: для стандартных (ROWS) групп файлов это путь и имя файла, используемые операционной системой при создании файла.
  • 'filestream_path': для группы файлов FILESTREAM FILENAME указывает путь, в котором будут храниться данные FILESTREAM.
  • memory_optimized_data_path: Для групп файлов, оптимизированных для памяти, FILENAME будет указывать путь, где будут храниться данные, оптимизированные для памяти. Атрибуты SIZE, MAXSIZE и FILEGROWTH не применяются к оптимизированным для памяти группам файлов.
  • FILEGROWTH: используется для указания размера каждого файла. Если определенное значение не указано, по умолчанию используется значение 1 МБ. Если указано значение 0, файл данных не может автоматически увеличиваться. В качестве единицы измерения можно использовать МБ, КБ, ГБ, ТБ или процент (%). Значение по умолчанию - МБ. Если указан%, то размер приращения - это определенный процент от размера файла при росте. Указанный размер округляется до ближайшего кратного 64 КБ.
  • OFFLINE: отключить файл и сделать все объекты в группе файлов недоступными.
  • <add_or_modify_filegroups> :: = </ add_or_modify_filegroups>: добавление, изменение или удаление файловых групп в базе данных.
  • СОДЕРЖИТ FILESTREAM: указывает, что файловая группа хранит большие двоичные объекты FILESTREAM (BLOB) в файловой системе.
  • CONTAINS MEMORY_OPTIMIZED_DATA: укажите группу файлов для хранения данных оптимизации памяти в файловой системе. В каждой базе данных может быть только одна группа файлов MEMORY_OPTIMIZED_DATA. При создании таблицы, оптимизированной для памяти, файловая группа не может быть пустой, и она должна содержать хотя бы один файл.
  • REMOVE FILEGROUP filegroup_name: удалите файловую группу filegroup_name, чтобы удалить файловую группу из базы данных. Если файловая группа не пуста, ее нельзя удалить. Сначала удалите все файлы из группы файлов.
  • MODIFY FILEGROUP filegroup_name: Изменить файловую группу.
  • ПО УМОЛЧАНИЮ: Измените группу файлов базы данных по умолчанию на имя_группы файлов. В качестве файловой группы по умолчанию может быть только одна файловая группа в базе данных.
  • AUTOGROW_SINGLE_FILE: Когда файлы в файловой группе соответствуют порогу автоматического роста, увеличивается только файл. Это значение по умолчанию.
  • AUTOGROW_ALL_FILES: если файлы в файловой группе достигают порога автоматического роста, все файлы в файловой группе растут.
  • <filegroup_updatability_option>: установить атрибуты только для чтения или чтения / записи для файловой группы.
  • READ_ONLY | READONLY: указанная группа файлов доступна только для чтения. Объекты в нем не могут быть обновлены. Основная группа файлов не может быть установлена ​​только для чтения. Чтобы изменить этот статус, вы должны иметь эксклюзивный доступ к базе данных.
  • Поскольку базы данных только для чтения не позволяют изменять данные, произойдет следующее:
    При запуске системы автоматическое восстановление будет пропущено.
    Невозможно сжать базу данных.
    не будет заблокирован в базе данных только для чтения. Это может ускорить запрос.

A. Добавить группу файлов, состоящую из двух файлов, в базу данных
В следующем примере создается группа файлов Test1FG1 в базе данных AdventureWorks2012, а затем добавляются два файла по 5 МБ в группу файлов.

Б. Добавьте два файла журнала в базу данных.

C. Удалить файлы из базы данных

D. Изменить файлы
Размер файла, добавленного в следующем примере. Команда ALTER DATABASE MODIFY FILE может увеличить размер файла, поэтому, если вам нужно уменьшить размер файла, вам нужно использовать DBCC SHRINKFILE.

В этом примере размер файла сжатых данных составляет 100 МБ, а затем укажите размер в этом размере.

E. переместить файл в новое место
Далее в качестве примера используется файл данных E: \ t1dat2.ndf в данных AdventureWorks в C: \ t1dat2.ndf, чтобы проиллюстрировать процесс перемещения файла данных.
Сначала переведите базу данных в автономный режим:

Переместите E: \ t1dat2.ndf в C: \ t1dat2.ndf в операционной системе:

Измените запись этого пути к файлу в базе данных:

Наконец, верните базу данных в оперативный режим:

Затем запросите физический путь к файлу t1dat2:

F. Сделать файловую группу файловой группой по умолчанию
В следующем примере Test1FG1 становится файловой группой по умолчанию. Затем группа файлов по умолчанию сбрасывается в группу файлов PRIMARY. Обратите внимание, что PRIMARY должен быть разделен скобками или кавычками.

Запрос информации назначенного экстента указанной таблицы

В SQL Server вы можете использовать команду dbcc exteninfo для запроса информации о выделенном экстенте таблицы.

Как восстановить базу данных .mdf без .ldf?
Была база данных .mdf, разделили ее на две. получилось два .mdf файла и два .ldf файла. После.

Нужна информация по форматам LDF и MDF
Добрый день. подскажите пожалуйста по эти форматам что-нибудь. у меня есть некий прибор, который.

Может попробуйте через Daemon Tools или Alcohol 120%.

мдф это файл алкоголь120 а на счет второго не знаю. также любые архивы типа MDF,ISO,CCD,NGR,BIN,IMG и тд открываются в архиваторе izarc

Добавлено через 2 минуты
за исключением BIN и IMG это могут быть прошивкой телевонов и изображением соответственно

эти 2 файла сделаны в базе данных, mdf содержит всю информацию, ldf содержит инфу для восстановление этой базы

Решение

это файлы баз данных закинь эти файлы в папку C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data и данная база появится у тебя в скуле Если будут вопросы объясню подробнее Ну вообщем перенес файлы зашел в прогу появилось окошко как показано на картинке, нажал connect в левом окошке появились файлы , поискал там эти файлы не нашел Коннектишься к серверу, слева видишь папку "databases" (у меня английская версия, так что ориентируйся сам). Правой кнопкой щёлкаешь по этой папке > attach > add. Указываешь путь к базе. В MS SQL Server Express Edition существует ограничение на размер базы - 4 гектара. В полноценной версии такого нет. а где полную версию дастать можн,не дашь ссылочку)ток чтоб не за лаве было , наверн сам понимаешь как у студента с деньгами бывает))

Получается, чтобы открыть БД нужно 2 файла: ldf и mdf?

У меня только файл mdf. Но я не могу его открыть.

Да, ldb - журнал, mdf - база. Как уже говорилось через attach добавляете в список доступных баз. Может возникнуть проблема совместимости версий. Желательно ставить ту-же версию SQL-сервера, под которой эти файлы были созданы.

Добавлено через 2 минуты
А вот если у вас только 1 файл, то открыть не удасться, MSSQL требуется для подключения БД оба файла. Как это сделать без журнала, я не знаю.

Если есть только файл БД, то попробовать ее присоединить с помощью sp_attach_single_file_db.
Если попытка не удастся, то дальнейшие варианты зависят от полученной ошибки и версии MSSQL.

Как открыть файл .mdf, не имея сервера?
Здравствуйте. Я в SQL полный нуб и очень прошу Вас помочь мне &quot;вытащить&quot; базу из файла формата.

Открыть файл mdf
Всем здравствуйте, кто может помочь открыть файл mdf? SQL пишет, что нет такого приложения.


Чем открыть образ диска .mdf ?
Здраствуйте, осваиваю Xubuntu 11.10. Понадобилось открыть образ диска .mdf, но не знаю как сделать.

Содержание

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

    Поиск на других ресурсах:

    Условие задачи

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

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

    09_02_00_002_table01_r

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

    09_02_00_002_table02_r

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

    Выполнение

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

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

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

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

    Visual Studio команда Server Explorer

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

    Visual Studio команда Add Connection

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

    Visual Studio команда “Connect to Database. ”

    4. Окно “ Add Connection ”.

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

    SQL Server соединение база данных

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

    В результате откроется второе окно “ 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 .

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

    09_02_00_002_05_

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

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

    09_02_00_002_06_

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

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

    09_02_00_002_07_

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

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

    09_02_00_002_08_

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

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

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

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

    09_02_00_002_09_

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

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

    09_02_00_002_10_

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

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

    09_02_00_002_11_

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

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

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

    09_02_00_002_12_

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

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

    09_02_00_002_13_

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

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


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


    Рис. 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 в такой последовательности:


    Рис. 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. Вызов команды добавления новой диаграммы


    В результате откроется окно добавления новой диаграммы 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 разрешает непосредственно вносить данные в таблицы базы данных.

    Чтобы вызвать режим ввода данных в таблицу 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).


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


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

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

    Читайте также: