Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Методические указания к лабораторным работам. «КЛИЕНТ-СЕРВЕРНЫЕ ТЕХНОЛОГИИ СУБД»



Методические указания к лабораторным работам

дисциплины

 

«КЛИЕНТ-СЕРВЕРНЫЕ ТЕХНОЛОГИИ СУБД»

ЕН.В.08

Специальность 080801 – Прикладная информатика в экономике

Направление 080800 – Прикладная информатика

 

 

Санкт-Петербург

2012


Допущено

редакционно-издательским советом СПбГИЭУ

в качестве методического издания

 

Составители

к.э.н., доц. И.Л. Андреевский,

 

 

Рецензент

ФИО

 

Подготовлено на кафедре

информационных систем в экономике

 

Одобрено научно-методическим советом специальности

080801 – Прикладная информатика в экономике и

направления 080800 – Прикладная информатика

 

Отпечатано в авторской редакции с оригинал-макета,

подготовленного составителями

 

 

Ó СПбГИЭУ, 2012


 

 



СОДЕРЖАНИЕ

1. Цель работы.......................................................................................... 4

2. Программно-техническая платформа.............................................. 4

3. Теоретическая часть............................................................................ 5

4. Перечень заданий к лабораторной работе..................................... 14

5. Порядок выполнения лабораторной работы................................ 16

6. Содержание отчета по лабораторной работе............................... 62

7. Список литературы............................................................................ 65

8. Приложения........................................................................................ 66

 


 


ЦЕЛЬ РАБОТЫ

Цель лабораторной работы 1. «Разработка клиент-серверного приложения баз данных (тонкий клиент, толстый клиент, n-tier архитектура)» состоит в получении практических навыков создания приложений баз данных в клиент-серверной архитектуре.

Цель лабораторной работы 2. «Дизайн модели данных и ее использование в клиент-серверном приложении» состоит в получении навыков разработки и проектирования слоя доступа к данным в клиент – серверном приложении.

Цель лабораторной работы 3. «Разработка клиент-серверных приложений баз данных с различным сценариям доступа к данным» состоит в получении практических навыков разработки приложений баз данных, имеющих разный тип доступа к данным.

Цель лабораторной работы 4. «Разработка распределенных приложений баз данных в клиент-серверной архитектуре с использованием сервисов данных» состоит в получении представления о создании распределенных приложений баз данных с использованием XML WEB серсисов.

Цель лабораторной работы 5. «Асинхронные приложения баз данных в клиент-серверной технологии СУБД» состоит в получении представления о возможности разработки приложений баз данных с многопоточной обработкой доступа к данным.

 

ПРОГРАММНО - ТЕХНИЧЕСКАЯ ПЛАТФОРМА

Проведение лабораторных работ предусматривает использование компьютерных классов, оснащенных современными компьютерами с современной операционной системой.

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

· Microsoft Visual Studio 2008/2010;

· Microsoft SQL Server 2008 R2;

· Microsoft Office 2007 (2010) для целей формирования отчетов по лабораторным работам.

Необходимое лицензионное (или бесплатно распространяемое) программное обеспечение для проведения лабораторных работ в настоящий момент имеется в наличии в ИВЦ СПбГИЭУ.

Минимальные требования к технической платформе: персональный компьютер Pentium IV и выше с 1 Gb оперативной памяти и 10 Gb дискового пространства.

 

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Microsoft® SQL Server™ 2008 – это надежная, эффективная и интеллектуальная платформа управления данными, готовая к работе в самых ответственных и требовательных бизнес-приложениях, помогающая сократить затраты на обслуживание существующих систем и разработку новых приложений, и предоставляющая широкие возможности BI для всех сотрудников вашей компании.

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

Microsoft Visual Studio - линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework и Microsoft Silverlight.

Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнер схемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки систем контроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов цикла разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).

Visual Studio 2010 (кодовое имя Hawaii, для Ultimate — Rosario; внутренняя версия 10.0) — выпущена 12 апреля 2010 года вместе с .NET Framework 4.0. Visual Studio включает поддержку языков C# 4.0 и Visual Basic .NET 10.0, а также языка F#, отсутствовавшего в предыдущих версиях.

ADO.NET Entity Framework (EF) - объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL. Для облегчения построения web-решений используется как ADO.NET Data Services (Astoria), так и связка из Windows Communication Foundation и Windows Presentation Foundation, позволяющая строить многоуровневые приложения, реализуя один из шаблонов проектирования MVC, MVP или MVVM.

Релиз ADO.NET Entity Framework состоялся 11 августа 2008 года в составе .NET Framework 3.5 Service Pack 1 и Visual Studio 2008 Service Pack 1. В VS 2008 вошёл EDM Wizard для реверс-инжиниринга существующих баз данных и EDM Designer для редактирования сгенерированных моделей или создания их с нуля.

Новая версия Entity Framework 4.0 предстала перед широкой общественностью 12 апреля 2010 года в составе релиза Visual Studio 2010 и .NET Framework 4.0.

Код вначале (Code First)

В рассмотренных выше вариантах классы Модели получаются путем их автоматической генерации. А что если классы Модели уже есть? Или, например, удобнее написать их С# код, чем рисовать в дизайнере?

Начиная с версии 4.1 в Entity Framework еще один подход к разработке описания EDM – Код вначале. С его помощью можно создать базу данных на основе классов C# или Visual Basic. Причем для этого достаточно даже их самого простого варианта – POCO (Plain Old CLR Object).

Для использования этого подхода достаточно указать Entity Framework используемые типы. Большая часть работы делается на основе соглашений. Однако при необходимости можно использовать атрибуты для задания необходимых параметров.

Такой подход позволяет очень сильно сократить время разработки на начальном этапе. Например, при проверке некой идеи, разработчик может полностью сосредоточиться на Модели и бизнес-логике, оставив на какое-от время вопрос о базе данных в стороне.

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

Соответствие наследования таблицам в базе данных

Независимо от используемого способа создания EDM, можно столкнуться с задачей, которая в языках высокого уровня решается с использованием наследования. Но каким образом можно отразить это в базе данных? Существует три подхода для решения этой проблемы.

Используем пример, чтобы сделать дальнейшее описание более понятным. Предположим, что в Модели автомобильного каталога существует базовый класс Car и два его наследника CivilCar и SportCar.

Таблица для каждого конкретного типа (Table per concrete type или TPC)

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

Для указанных выше классов их будет три: Cars, CivilCars и SportCars. Стоит учесть, что в случае необходимости получить полный список автомобилей, в запросе будут использоваться все эти таблицы.

Таблица для каждого типа (Table per type или TPT)

В данном случае будет создано несколько таблиц:

· одна таблица на основе базового класса, которая будет содержать общие для всех классов поля.

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

Таким образом, в предложенном примере будет основная таблица Cars и две вспомогательные – CivilCars и SportCars. Подобное решение может быть выгодно, если большая часть запросов требует только информацию, соответствующую свойствам класса Car. Например, наиболее часто выводится полный список автомобилей, а уже по выбранным моделям отображаются подробные данные.

Таблица для иерархий (Table per hierarchy или TPH)

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

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

Указание строки соединения

После создания EDM может потребоваться указание строки соединения для Entity Framework. Обратите внимание, что при использовании дизайнера она будет автоматически внесена в конфигурацию приложения. А вот в случае применения подхода Код вначале, её необходимо добавить самостоятельно.

Основы ASP.NET Dynamic Data

Чтобы не тратить много времени на теорию, предлагаю начать с создания тестового приложения на базе Dynamic Data.

Запускаем Visual Studio 2008.

Выбираем File->New -> WebSite… (Рис 5.10):

Рис 5.10 Создание нового веб-сайта

Выбираем тип проекта "Dynamic Data Web Site" сохраняем его в папке "C:\TestApp\DynamicDataSite", если такой папки не существует, она будет создана (Рис 5.11):

Рис 5.11 Создание проекта "Dynamic Data Web Site"

После описанных выше шагов будет создан веб-сайт со структурой как показано на рисунке 5.12:

Рис 5.12 Структура проекта "ASP.NET Dynamic Data Web Site"

Следующий шаг - генерация классов LINQ2SQL на основании созданной базы данных.

Добавляем "LINQ to SQL Classes" с именем "BookShop.dbml" (рис 5.13-14):

Рис 5.13 Добавление LINQ2SQL классов, шаг 1

Рис 5.15 Добавление LINQ2SQL классов, шаг 2

 

Visual Studio предложит сохранить сгенерированные классы в папке "App_Code" (Рис 5.16). Согласимся с этим - жмем "Yes":

Рис 5.16 Сохранение файлов с C# кодом в папке "App_Code"

Далее будет открыт дизайнер LINQ2SQL, в который необходимо перенести таблицы из базы данных.

Открываем "Server Explorer" в Visual Studio и добавляем новый коннекшн к тестовой базе данных (Рис 5.17):

Рис 5.17. Добавление нового соединения к БД

 

Вписываем необходимые параметры в окне "Add Connection" и жмем кнопку "Test Connection" (Рис 5.18):

Рис 5.18 Форма "Add Connection"

Результат тестирования коннекшна должно быть окно, показанное на рис. 13:

Рис 5.19 Удачное тестирование соединения с БД

 

Если вы получили ошибку соединения - необходимо вернуться на шаг назад и проверить правильность ввода данных в окне "Add Connection".

После выполненных шагов переносим таблицы из базы данных "BookShop" на форму дизайнера LINQ2SQL (Рис 5.20):

Рис 5.20 Перенос таблицы из "Server Explorer" на форму дизайнера "LINQ2SQL"

В результате генерирования сущностей LINQ2SQL дизайнер должен выглядить приблизительно так-же как и на рис. 5.21:

Рис 5.21 Сущности на дизайнере LINQ2SQL

Следующим шагом необходимо раскомментировать строку в файле "Global.asax":

model.RegisterContext(typeof(BookShopDataContext), new ContextConfiguration() { ScaffoldAllTables = true });

Хочу обратить ваше внимание, что необходимо подменить значение "YourDataContextType" на "BookShopDataContext", а также поменять значение параметра "ScaffoldAllTables" с false на true.

Параметр "ScaffoldAllTables" указывает на то, что необходимо взять все таблицы из модели LINQ2SQL и сгенерировать для них формы.

Вот и все, что нужно сделать для того, чтобы сайт работал - следующим шагом жмем кнопку "Save All", после чего жмем "F5" и тестируем работоспособность сайта (Рис 5.22-23):

Рис 5.22 Тестирование сгенерированного веб-сайта

 

Рис 5.23 Тестирование сгенерированного веб-сайта

 

Сгенерированный веб-сайт - полностью работоспособное приложение, которое является "Лицом" базы данных и позволяет делать CRUD (Create, Read, Update, Delete) операции со всеми сущностями БД + простую выборку.

Таким образом, используя ASP.NET Dynamic Data можно, потратив 15 минут, создать полностью работоспособное приложение, не написав при этом ни строчки кода.

Создание сервиса данных

Открыть пакет Visual Studio 2010.

Меню “File”. Выбираем элемент меню “File new Web site”.

В окне выбираем тип проекта “Empty Web Site” и нажимаем “Ok”.

В Solution Explorer справа становимся на наш проект и с контекстного меню выбираем “Add new Item”

В открывшемся диалоге выбираем в списке “Web Service” и нажимаем кнопку ”Add”.

В Visual Studio 2010 через главное меню открываем “View” \ ”Server Explorer”.

В открывшемся окне делаем через инструмент  подключение в базе данных (рис. 5.24).

Рис. 5.24 Создание XML сервиса для доступа к базе данных

Рис. 5.25 Подключение к БД

 

Переходим к написанию кода. В редакторе кода открываем файл WebService.cs и в начале делаем ссылку на подключаемые сборки.

 

using System.Data;

using System.Data.SqlClient;

В класс Web сервиса дописываем метод, ответственный за получение данных из базы данных:

[WebMethod]

 public DataSet GetData()

 {

 DataSet ds = new DataSet();

 try {

 SqlDataAdapter da = new SqlDataAdapter("select * from dbo.Products", "Data Source=W2K8;Initial Catalog=Northwind;Integrated Security=True");

 da.Fill(ds);

 }

 catch (Exception)

 {

 }

 return ds;

 }

Получаем следующий проект (рис. 5.26 )

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

Нажимаем CTRL + F5 и проверяем работоспособность полученного решения. Открывается браузер (рис. 5.27).

Рис. 5.27 Проверка работоспособности сервиса в браузере

Выбираем созданный нами метод “GetData” (рис. 5.28)

Рис. 5.28 Проверка работоспособности сервиса. Продолжение

Нажимаем кнопку “Invoke” и в XML формате получаем данные из базы данных (рис. 5.29). Сервис создан.

Рис. 5.29 Данные из базы данных, возвращенные сервисом данных

 

СОДЕРЖАНИЕ ОТЧЕТА ПО ЛАБОРАТОРНОЙ РАБОТЕ

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

Отчет предоставляется на кафедру «Информационных систем в экономике» в распечатанном виде и на дискете. Зачет по лабораторным работам основывается на качестве выполненных заданий и результатах собеседования студента с руководителем лабораторных работ.

Отчет должен содержать следующие разделы и элементы:

· Титульный лист,

· Оглавление,

· Для лабораторной работы 1. «Разработка клиент-серверного приложения баз данных (тонкий клиент, толстый клиент, n-tier архитектура)» отчет должен включать:

· Экранные копии основных форм приложения;

· Исходный код приложения (листинги).

· Для лабораторной работы 2. «Дизайн модели данных и ее использование в клиент-серверном приложении» отчет должен включать:

· Экранные копии основных форм приложения;

· Исходный код приложения (листинги).

· Для лабораторной работы 3. «Разработка клиент-серверных приложений баз данных с различным сценариям доступа к данным» отчет должен включать:

· Экранные копии основных форм приложения;

· Исходный код приложения (листинги).

· Для лабораторной работы 4. «Разработка распределенных приложений баз данных в клиент-серверной архитектуре с использованием сервисов данных» отчет должен включать:

· Экранные копии основных форм приложения;

· Исходный код приложения (листинги).

· Для лабораторной работы 5. «Асинхронные приложения баз данных в клиент-серверной технологии СУБД» …:

· отчет должен включать:

· Экранные копии основных форм приложения;

· Исходный код приложения (листинги).

· Заключение. Содержит выводы по результатам проделанной работы.

Оформление отчета должно соответствовать следующим требованиям:

· отчет оформляется в соответствии с требованиями следующих стандартов:

· ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам;

· ГОСТ 7.32-2001 (ИСО 5966-82) СИБИД. Отчет о научно-исследовательской работе. Структура и правила оформления;

· ИСО 5966-82. Документация. Оформление научных и технических отчетов;

· ГОСТ 7.1-84 СИБИД. Библиографическое описание документа: общие требования и правила составления.

· отчет подготавливаются в текстовом редакторе Microsoft Word;

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

· шрифт – кегль 14, гарнитура «Times New Roman»;

· межстрочный интервал – 1,5;

· абзацный отступ – 1,25 см;

· выравнивание – по ширине;

· перенос автоматический «Сервис – Язык – Расстановка переносов»;

· нумерация страниц располагается внизу по центру страницы;

· поля по 2,5 см;

· формат страницы – А4 (210x297 мм).

· таблицы необходимо оформлять с использованием табличного редактора, ширина таблицы не должна превышать ширину полосы текста. Размер кегля текста внутри таблиц 12 пт, минимальный размер кегля внутри таблицы (только при необходимости) – 10. Текст головки (шапки) таблицы набирают без сокращений слов;

· при построении рисунков, графиков, диаграмм, блок-схемиспользовать только встроенные приложения WORD. Рисунки и блок-схемы необходимо выполнять, используя опции «Вставка – Рисунок – Создать рисунок». Рисунки должны быть сгруппированы. Надписи на рисунке выполняются шрифтом 12-го кегля. Все внутририсуночные тексты и буквенные обозначения должны располагаться в «рамках текста».

Образец титульного листа отчета по лабораторной работе представлен в приложении 1.

 


 


СПИСОК ЛИТЕРАТУРЫ

ОСНОВНАЯ

1. Гайдамакин Н.А. Автоматизированные информационные системы, базы и банки данных. Вводный курс. - М.: Гелиос, 2005. - 368 c.

2. Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных. Учебное пособие для ССУЗов. - М.: Форум, 2007. - 399 c.

3. Кузнецов С.Д. Базы данных: Языки и модели. - M: Бином. 2007, - 720 c.

4. Майкл Дж. Хернандес, Джон Л. Вьескас SQL-запросы для простых смертных. Практическое руководство по манипулированию данными в SQL. - М.: Лори, 2007. - 480 c.

5. Маклин Й., Томас О. Оптимизация и администрирование баз данных Microsoft SQL Server 2005. - М.: Русская Редакция, 2007. - 624 c.

 

7. 2 ДОПОЛНИТЕЛЬНАЯ:

1. Weller Bart Beginning SQL Server Modelling. –Apress., 2010

2. Дунаев В.В. Базы данных. Язык SQL для студента. - СПб.: BHV, 2007. - 320 c.

3. Мирошниченко Г. Реляционные базы данных. Практические приемы оптимальных решений. - CПб.: BHV, 2005. - 400 c.

4. Пирогов В. SQL Server 2005. Программирование клиент-серверных приложений. – СПб.: БХВ, 2006. – 336 с.

5. Рудикова Л. В. Базы данных. Разработка приложений – СПб.: БХВ, 2006. – 496 с.

6. Макин Дж. К., Хотек М.Проектирование серверной инфраструктуры баз данных Microsoft SQL Server 2005. Учебный курс Microsoft – СПб.: БХВ, 2008. – 560 с.

 


 


Приложения

Приложение 1

ОТЧЕТ

По лабораторным работам

 

Выполнил студент: ____________________

(Фамилия И.О., группа)

__________________

(подпись)

Руководитель: ________________________

(уч. степень и звание. Фамилия И.О.)

__________________

 (оценка, дата)

__________________

(подпись)

 

Санкт - Петербург

201_

Методические указания к лабораторным работам

дисциплины

 

«КЛИЕНТ-СЕРВЕРНЫЕ ТЕХНОЛОГИИ СУБД»

ЕН.В.08

Специальность 080801 – Прикладная информатика в экономике

Направление 080800 – Прикладная информатика

 

 

Санкт-Петербург

2012


Допущено

редакционно-издательским советом СПбГИЭУ

в качестве методического издания

 

Составители

к.э.н., доц. И.Л. Андреевский,

 

 

Рецензент

ФИО

 

Подготовлено на кафедре

информационных систем в экономике

 

Одобрено научно-методическим советом специальности

080801 – Прикладная информатика в экономике и

направления 080800 – Прикладная информатика

 

Отпечатано в авторской редакции с оригинал-макета,

подготовленного составителями

 

 

Ó СПбГИЭУ, 2012


 

 



СОДЕРЖАНИЕ

1. Цель работы.......................................................................................... 4

2. Программно-техническая платформа.............................................. 4

3. Теоретическая часть............................................................................ 5

4. Перечень заданий к лабораторной работе..................................... 14

5. Порядок выполнения лабораторной работы................................ 16

6. Содержание отчета по лабораторной работе............................... 62

7. Список литературы............................................................................ 65

8. Приложения........................................................................................ 66

 


 


ЦЕЛЬ РАБОТЫ

Цель лабораторной работы 1. «Разработка клиент-серверного приложения баз данных (тонкий клиент, толстый клиент, n-tier архитектура)» состоит в получении практических навыков создания приложений баз данных в клиент-серверной архитектуре.

Цель лабораторной работы 2. «Дизайн модели данных и ее использование в клиент-серверном приложении» состоит в получении навыков разработки и проектирования слоя доступа к данным в клиент – серверном приложении.

Цель лабораторной работы 3. «Разработка клиент-серверных приложений баз данных с различным сценариям доступа к данным» состоит в получении практических навыков разработки приложений баз данных, имеющих разный тип доступа к данным.

Цель лабораторной работы 4. «Разработка распределенных приложений баз данных в клиент-серверной архитектуре с использованием сервисов данных» состоит в получении представления о создании распределенных приложений баз данных с использованием XML WEB серсисов.

Цель лабораторной работы 5. «Асинхронные приложения баз данных в клиент-серверной технологии СУБД» состоит в получении представления о возможности разработки приложений баз данных с многопоточной обработкой доступа к данным.

 


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 297; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.193 с.)
Главная | Случайная страница | Обратная связь