Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 634558)
Контекстум
.

Разработка приложений баз данных. Ч. 3 (220,00 руб.)

0   0
Первый авторРудалев Валерий Геннадьевич
АвторыКрыжановская Юлиана Александровна, Левицкая Юлия Сергеевна
ИздательствоИздательский дом ВГУ
Страниц64
ID702360
АннотацияДанная часть пособия содержит примеры создания приложений БД на основе современной ORM-технологии Entity Framework v.6 от Microsoft. Справочные сведения, как правило, не приводятся основной упор делается на логику создания приложений. Желательно предварительное знакомство с пособием [1] и Интернет-ресурсом [3]. Примеры, приведенные в пособии, выполнены в среде MS Visual Studio 2015 Community на языке С# с использованием сервера баз данных MS SQL Server 2014 Express. Также пригодны версии начиная с MS VS 2013 и MS SQL Server 2008.
Кому рекомендованоРекомендуется для студентов факультета прикладной математики, информатики и механики, сдающих зачет по курсу «Разработка приложений баз данных».
Рудалев, В.Г. Разработка приложений баз данных. Ч. 3 / Ю.А. Крыжановская, Ю.С. Левицкая; В.Г. Рудалев .— Воронеж : Издательский дом ВГУ, 2017 .— 64 с. — 64 с. — URL: https://rucont.ru/efd/702360 (дата обращения: 19.04.2024)

Предпросмотр (выдержки из произведения)

Разработка_приложений_баз_данных._Ч._3.pdf
Стр.1
Стр.3
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Разработка_приложений_баз_данных._Ч._3.pdf
1 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» В.Г. Рудалев, Ю.А.Крыжановская, Ю.С.Левицкая РАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ. ЧАСТЬ 3 Учебное пособие для вузов Воронеж Издательский дом ВГУ 2017
Стр.1
3 СОДЕРЖАНИЕ 1. ПРОЕКТИРОВАНИЕ ПРИЛОЖЕНИЯ.....................................................................4 1.1. Общие принципы.............................................................................................................................................4 1.2. Пример предметной области .........................................................................................................................6 1.3. Серверная часть приложения......................................................................................................................10 2. СОЗДАНИЕ БИЗНЕС-СЛОЯ..................................................................................12 2.1. Базовые классы...............................................................................................................................................12 2.2. Логика доступа к данным.............................................................................................................................18 3. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС .................................................................22 3.1. Выборка данных.............................................................................................................................................22 3.2. Редактирование через вызов хранимых процедур..................................................................................25 3.3. Основные операции работы с данными.....................................................................................................29 4. НАСТРОЙКА БЕЗОПАСНОСТИ............................................................................37 5. УПРАВЛЕНИЕ ТРАНЗАКЦИЯМИ..........................................................................41 5.1. Общие принципы...........................................................................................................................................41 5.2. Создание бизнес-слоя.....................................................................................................................................44 5.3. Пользовательский интерфейс......................................................................................................................48 6. ПРИМЕРЫ ПРОГРАММИРОВАНИЯ....................................................................53 6.1. Отображение рекурсивных структур.........................................................................................................53 6.2. Связь многие-ко-многим..............................................................................................................................56 6.3. Выполнение запросов к нескольким сущностям.....................................................................................60 ЗАДАНИЯ.....................................................................................................................62 ЛИТЕРАТУРА..............................................................................................................64
Стр.3
6 автоматически. Подход ориентирован на программистов, хорошо владеющих языком C#. Вариант CFED, напротив, требует наличия базы данных, а генерироваться автоматически будут необходимые классы. Подход ориентирован на традиционных разработчиков БД, привыкших к языку SQL. Хотя вариант CF Microsoft считает приоритетным, но автор с этой точкой зрения не согласен. Если человек не знает SQL и не умеет проектировать БД, то можно ли ему поручать писать приложения для БД? Вопрос риторический и в ответе не нуждается. Однако компромисс в этом споре достигается легко. Когда классы построены (любым способом — CF или CFED), дальнейший ход разработки для двух подходов одинаков, чем автор сейчас и воспользуется. Внимание! Перед дальнейшим изучением материала настоятельно рекомендуется разобрать примеры «нулевого» уровня сложности, приведенные на сайте [3]. 1.2. Пример предметной области В качестве учебного примера предметной области еще раз рассмотрим распределение тем курсовых работ между студентами, описанное в предыдущей части пособия [1]. В предметной области можно выделить, как минимум, три сущности: преподаватель, студент, тема курсовой работы. Перечислим основные бизнес-правила. Преподаватель может предлагать множество тем на различных курсах, но тема может принадлежать только одному преподавателю. Студент может захватывать
Стр.6
7 только по одной теме на каждом курсе, и одна тема может быть назначена только одному студенту. Захват темы студентом на другом курсе не допускаются. При захвате тема помечается как занятая. Каждый студент, преподаватель и тема имеют уникальный суррогатный первичный ключ. В соответствии с указанными бизнес-правилами в редакторе моделей ERWin создадим логическую модель. Далее, как обычно, переводим ее к физической модели (Derive new Model) для MS SQL Server и генерируем скрипт (Forward Engineering) для создания БД. Проверяем правильность ограничений IDENTITY, PRIMARY KEY, CHECK, NOT NULL, FOREIGN KEY. Далее создадим на сервере базу данных Themes и выполним для нее разработанные ранее скрипты. Перед выполнением добавьте в начало скрипта строчку use Themes; use Themes; CREATE TABLE KursWork( WorkID int IDENTITY(1,1) NOT NULL, WorkName varchar(Max) NOT NULL, PrepID int NOT NULL, StudID int NULL, Kurs int NOT NULL, CONSTRAINT PK_KursWork PRIMARY KEY (WorkID) ) CREATE TABLE Students( StudID int IDENTITY(1,1) NOT NULL, FIO varchar(Max) NOT NULL, kurs int NOT NULL, CONSTRAINT PK_Students PRIMARY KEY (StudID)
Стр.7
8 ) CREATE TABLE Teachers( PrepID int IDENTITY(1,1) NOT NULL, PrepFIO varchar(Max) NOT NULL, Post varchar(10) NOT NULL, CONSTRAINT PK_Teachers PRIMARY KEY (PrepID) ) ALTER TABLE KursWork ADD CONSTRAINT FK_KursWork_Students FOREIGN KEY(StudID) REFERENCES Students (StudID) ALTER TABLE KursWork ADD CONSTRAINT FK_KursWork_Teachers FOREIGN KEY(PrepID) REFERENCES Teachers (PrepID) Для создания базы данных запустим MS SQL Server Management Studio и подключимся к серверу (рис.1). В поле «Server name» точка означает данный компьютер, sqlexpess – имя экземпляра SQL сервера [1]. Рис. 1 Затем в окне Object Explorer выберите узел Databases, нажмите «New Database» и введите имя новой БД Themes (рис.2).
Стр.8
9 Рис. 2 После этого нажмите кнопку New Query, загрузите в окно заготовленный скрипт и выполните его. Проверьте правильность создания, определив в узле Themes диаграмму базы данных (рис.3). Разумеется, пример предназначен только для учебных целей и поэтому предельно упрощен. В него не включены многие особенности реальной предметной области, например учебный год темы и студента, необходимость ведения архивов курсовых работ с оценкой, более подробная информация о преподавателе и студенте и т.д. Чтобы привести пример в соответствие с реальностью, нужна серьезная переработка.
Стр.9
10 KursWork WorkID WorkName PrepID StudID Kurs Students StudID FIO kurs Teachers PrepID PrepFIO Post Рис.3 1.3. Серверная часть приложения Напишем следующие объекты в БД Themes, составляющие серверную часть приложения. Все нижеследующие скрипты удобнее выполнить в окне запроса New Query для БД Themes. Представления: Показ студентов, не записавшихся на курсовые работы. CREATE VIEW StudFree AS SELECT StudID, FIO, kurs FROM Students AS s WHERE (StudID NOT IN (SELECT StudID FROM KursWork WHERE (StudID IS NOT NULL))) Показ свободных тем, для которых в таблице KursWork столбец StudID имеет значение NULL.
Стр.10

Облако ключевых слов *


* - вычисляется автоматически
.
.