Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка приложений в Visual C# для работы с базой данных MS SQL SERVER 2012

Покупка
Артикул: 789303.01.99
Доступ онлайн
500 ₽
В корзину
Рассмотрены способы создания приложений для работы с базами данных, методы доступа к базам данных и применяемые в них программные интерфейсы. Также рассматривается интеграция приложений Visual C# с сервером СУБД Microsoft SQL Server 2012. Предназначено для студентов, обучающихся по направлениям 27.03.03 «Системный анализ и управление». 09.03.02 «Информационные системы и технологии» и 09.03.03 «Прикладная информатика». Подготовлено на кафедре системотехники.
Гайнанова, Р. Ш. Разработка приложений в Visual C# для работы с базой данных MS SQL SERVER 2012 : учебно-методическое пособие / Р. Ш. Гайнанова. - Казань : КНИТУ, 2019. - 84 с. - ISBN 978-5-7882-2663-7. - Текст : электронный. - URL: https://znanium.com/catalog/product/1899129 (дата обращения: 09.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство науки и высшего образования Российской Федерации

Федеральное государственное бюджетное

образовательное учреждение высшего образования

«Казанский национальный исследовательский

технологический университет»

Р. Ш. Гайнанова

РАЗРАБОТКА ПРИЛОЖЕНИЙ 

В VISUAL C# ДЛЯ РАБОТЫ 
С БАЗОЙ ДАННЫХ MS SQL 

SERVER 2012

Учебно-методическое пособие

Казань

Издательство КНИТУ

2019

УДК 004.655.3(075)
ББК 32.97я7

Г14

Печатается по решению редакционно-издательского совета 

Казанского национального исследовательского технологического университета

Рецензенты:

канд. физ.-мат. наук, доц. А. Ф. Галимянов 
канд. физ.-мат. наук, доц. О. А. Широкова

Г14

Гайнанова Р. Ш.
Разработка приложений в Visual C# для работы с базой данных MS 
SQL SERVER 2012 : учебно-методическое пособие / Р. Ш. Гайнанова; 
Минобрнауки России, Казан. нац. исслед. технол. ун-т. – Казань : 
Изд-во КНИТУ, 2019. – 84 с.

ISBN 978-5-7882-2663-7

Рассмотрены способы создания приложений для работы с базами данных, 
методы доступа к базам данных и применяемые в них программные интерфейсы. 
Также рассматривается интеграция приложений Visual C# с сервером 
СУБД Microsoft SQL Server 2012.

Предназначено для студентов, обучающихся по направлениям 27.03.03 

«Системный анализ и управление», 09.03.02 «Информационные системы и 
технологии» и 09.03.03 «Прикладная информатика». 

Подготовлено на кафедре системотехники.

ISBN 978-5-7882-2663-7
© Гайнанова Р. Ш., 2019
© Казанский национальный исследовательский 

технологический университет, 2019

УДК 004.655.3(075)
ББК 32.97я7

Содержание

Введение.....................................................................................................4
1. Проектирование баз данных.................................................................5
2. Основы MicrosoftSQL Server 2012 ....................................................... 9
2.1. Объекты базы данных SQL Server .................................................. 10
2.2. Язык SQL........................................................................................... 11
2.3. Работа в SQL Server Management Studio......................................... 18
3. Администрирование баз данных........................................................ 26
3.1. Администратор базы данных........................................................... 26
3.2. Создание точек входа SQL Server................................................... 27
3.3. Создание пользователей базы данных............................................ 27
3.4. Роли базы данных............................................................................. 29
3.5. Задания по администрированию баз данных................................. 37
4. Разработка приложения ...................................................................... 41
4.1. Работа с таблицами........................................................................... 46
4.2. Создание запросов............................................................................ 51
4.3. Создание отчетов в среде VisualStudio........................................... 59
4.4. Создание проекта сервера отчетов.................................................. 64
4.5. Задания по разработке приложений................................................ 66
Заключение............................................................................................... 79
Список литературы.................................................................................. 80
Приложение.............................................................................................. 81

Введение

Данное учебно-методическое пособие посвящено созданию при-

ложений для работы с базами данных. Рассматриваются методы до-
ступа к базам данных и применяемые в этих методах доступа про-
граммные интерфейсы. Также рассматривается интеграция приложе-
ний Visual C# с сервером СУБД Microsoft SQL Server 2012. В качестве 
примера представлена разработка информационной системы «Тури-
стическое агентство».

Любая профессиональная деятельность эффективна при условии 

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

Информационная система – это взаимосвязанная совокупность 

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

− задачу разработки базы данных, предназначенной для хранения 

информации;

− задачу разработки графического интерфейса пользователя кли-

ентских приложений.

4

1. ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ

Проектирование БД состоит из нескольких этапов:
1. Анализ требований. На этом этапе находят ответы на следу-

ющие вопросы: Какие элементы данных должны храниться в БД? Кто 
и как будет с ними обращаться?

2. Создание физической структуры БД. На этом этапе непосред-

ственно определяется, какие будут представлены таблицы, а также 
атрибуты этих таблиц

3. Создание логической модели БД. На этом этапе определяется, 

как данные будут сгруппированы логически. Структура базы данных 
на этом этапе выражается в терминах прикладных объектов и отноше-
ний между ними.

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

ческого агентства. Очевидно, что для его работы необходимо хранить 
и отслеживать определенный набор информации о клиентах данного 
агентства (туристах), о предлагаемых им турах, об оформлении и 
оплате путевок. Функциональное описание должно представлять си-
стему как можно более полно и подробно. 

В настоящее время в области проектирования информационных 

систем с  успехом применяется визуальное моделирование с помощью 
унифицированного языка моделирования UML. Унифицированный 
язык моделирования  (Unified Modeling Language,  UML)  является 
графическим языком для визуализации, специфицирования, конструи-
рования и документирования систем, в которых большая роль принад-
лежит программному обеспечению. С помощью UML можно детально 
описать систему, начиная разработку с концептуальной модели с ее 
бизнес-функциями и процессами, а также описать особенности реали-
зации системы, такие как классы программного обеспечения системы,  
схема базы данных.

Строится диаграмма вариантов использования (диаграмма пре-

цедентов). Поведение системы (т. е. функциональность, которую она 
обеспечивает) описывают с помощью функциональной модели, кото-
рая отображает системные прецеденты, системное окружение и связи 
между ними (рис. 1.1). С помощью этой диаграммы можно [7, 14]:

−сформулировать общие  требования  к функциональному пове-

дению проектируемой системы;

−разработать исходную концептуальную модель  системы для ее 

последующей детализации в форме  логических и физических моде-
лей; 

−подготовить исходную документацию для взаимодействия раз-

работчиков системы с ее заказчиками и пользователями.

Вариант использования (прецедент, usecase) описание множе-

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

Моделирование прецедентов и актеров помогает нам лучше по-

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

Связи и взаимоотношения, существующие между элементами 

модели, в UML описываются с помощью отношений, изображаемых 
на диаграммах. Отношение (relationship)  это семантическая связь 
между отдельными элементами модели.

В основном на диаграммах прецедентов используются следую-

щие типы отношений:

−ассоциации (association relationship); 
−включения (include relationship); 
−расширения (extend relationship); 
−обобщения (generalization relationship).
Ассоциация – это структурное отношение, показывающее, что 

объект неким образом связан с другим объектом.

Включение (include) говорит о том, что исходный прецедент яв-

ным образом включает в себя поведение целевого. Другими  словами, 
включение создается, когда один прецедент использует другой. При 
этом исполнение базового прецедента невозможно без исполнения ис-
пользуемого. Изображается включение в виде пунктирной стрелки с 
надписью <<include>>, которая направлена от базового элемента к ис-
пользуемому. 

Расширение (extend) показывает, что целевой прецедент расши-

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

<<extend>>, направленной от используемого варианта использования 
к базовому.

Рис. 1.1. Диаграмма прецедентов ИС «Туристическое агентство»

Как взаимодействует руководитель туристической фирмы с 

остальными сотрудниками? Какую информацию, в каком объеме и 
через какой промежуток времени они должны ему предоставить?
Строится диаграмма деятельности (рис. 1.2).

Диаграмма деятельности UML отображает разложение опреде-

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

Далее проектируется физическая структура базы данных. Физи-

ческая структура базы данных представлена в приложении.

База данных «Турагентство» создается на Microsoft SQL Server

2012. В ней необходимо хранить и отслеживать определенный набор 

информации о клиентах данного туристического агентства (туристах), 
о предлагаемых им турах, об оформлении и оплате путевок. В примере 
турагентства имеются пять основных объектов:  туристы, туры, путев-
ки, сезоны, оплаты. Между этими объектами могут быть следующие 
отношения [2]:

– каждый турист может купить одну или несколько путевок;
– каждой путевке соответствует ее оплата;
– каждый тур может иметь несколько сезонов;
– путевка продается на один тур одного сезона.

Рис. 1.2. Диаграмма деятельности ИС «Туристическое агентство»

Также необходима функциональная спецификация, которая от-

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

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

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

2. ОСНОВЫ MICROSOFT SQL SERVER 2012

Система SQL Server 2012 играет роль платформы данных с воз-

можностью динамической разработки, обширной бизнес-аналитикой, с 
выходом за пределы реляционной модели, закладывая прочный фун-
дамент, на котором могут строить ИТ инфраструктуру малые, средние 
и крупные организации. В состав  SQL Server 2012 входят следующие 
компоненты [5]:

1) служба ядра БД (Database Engine) – основные компоненты 

БД, уведомлений и репликации. Ядро БД является сердцем SQL
Server. Репликация повышает доступность данных, распределяя их по 
нескольким БД и разделяя нагрузку чтения по нескольким выделен-
ным серверам БД;

2) аналитические службы (Analysis
Services)
обеспечивают 

функциональность OLAP (Online Analytical Processing) и анализа дан-
ных для приложений бизнес-аналитики, позволяют организации соби-
рать данные из разных источников, например реляционных баз дан-
ных, и обрабатывать их различными способами;

3) службы интеграции (Integration Services) предназначены для 

слияния данных из разнородных источников загрузки данных в хранилища, 
витрины данных и пр.;

4) службы отчетов включают диспетчер отчетов  и сервер отчетов. 
Представляют полномасштабную платформу для создания, управления 
и распространения отчетов. Сервер отчетов построен на стандартных 
технологиях Microsoft Internet Information Services (IIS) и Mi-
crosoft.NET Framework и позволяет использовать для обработки и хранения 
отчетов сочетание возможностей SQL Server и IIS;

5) Service Broker – ключевая часть БД, обеспечивающая организацию 
очередей и обмена сообщениями. Очереди используются для 
упорядочения задач, например запросов, чтобы они выполнялись по 
мере высвобождения ресурсов. Сообщения обеспечивают передачу 
информации от одного приложения БД к другому.

Служебные базы данных SQL Server 2012:
1) Master отвечает за хранение всех данных системного уровня 

для экземпляра SQL Server;

2) Msdb используется агентом SQL Server для планирования 

предупреждений и задач;

3) Model используется в качестве шаблона для всех баз данных, 

создаваемых в экземпляре SQL Server. Изменение размера, параметров 

сортировки, модели восстановления и других параметров базы данных, 
приводит к изменению соответствующих параметров всех баз 
данных, создаваемых после изменения;

4) Resourse содержит системные объекты, которые входят в со-

став SQL Server; системные объекты физически хранятся в базе дан-
ных  resource, но логически отображаются в схеме sys любой базы 
данных;

5) Tempdb рабочее пространство для временных объектов или 

взаимодействия результирующих наборов.

2.1. Объекты базы данных SQL Server

Объектами базы данных SQL Server являются таблицы, индексы, 

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

Таблица – это объект, предназначенный для хранения данных,

который состоит из строк и столбцов. Столбцы таблицы называются 
полями, строки – записями. Каждое поле таблицы имеет строго опре-
деленный тип данных. Каждая запись описывает один объект. В таб-
лице нет одинаковых строк.

Индексы ускоряют доступ к данным. Microsoft SQL Server 2012 

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

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

извлечение данных из таблиц с помощью инструкции языка SQL
SELECT и реализуют одно их основных назначений базы данных –
предоставление информации пользователю. Результатом выполнения 
инструкции SELECT является таблица. Представления – это просто 
хранящиеся в базе данных SELECT-инструкции. С точки зрения поль-
зователей, представление – это таблица, которая не хранится постоян-
но в базе данных, а формируется в момент обращения к ней. 

Хранимая процедура – это сохраненный набор инструкций язы-

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

няемой по вызову клиента. В хранимых процедурах могут выполнять-
ся любые инструкции Transact-SQL, в том числе инструкции добавле-
ния, изменения и удаления данных (INSERT, UPDATE и DELETE). 
Хранимая процедура может принимать и возвращать параметры.

В ходе работы приложения базы данных могут возникать ситуа-

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

Пользовательские функции, подобно функциям языков про-

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

2.2. Язык SQL

SQL (Structured Query Langauge – структурированный язык за-

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

Доступ онлайн
500 ₽
В корзину