Очевидно, что конечный пользователь не знает языка SQL, поэтому ему нужно предоставить удобный и понятный пользовательский интерфейс, с помощью которого он мог бы формировать и получать данные. В архитектуре «клиент-сервер» СУБД представляется серверной стороной, а в качестве клиентского уровня может использоваться любое приложение (консольное, оконное, web-приложение), разработанное с помощью различных технологий и языков программирования. Общая концепция обмена данными между клиентом и сервером по большей степени не зависит от технологии реализации клиентского приложения. Поэтому разберем вопросы, связанные с разработкой клиентского приложения на языке программирования C# с использованием технологии ADO.NET. Приведем типовые примеры решения различных задач, возникающих на клиентской части приложения.
Для подключения к базам данных в среде.NET Framework используется пространство имен System.Data и его подпространства имен (OleDb, Odbc и пр.). Разберем основные особенности работы элементов этого пространства имен. В основе любого из них – драйвер баз данных (коннектор) – специальное программное обеспечение, которое является посредником между клиентским приложением и базой данных (серверной или файловой). Для обращения используются стандартные технологии Ole Db или ODBC.
JavaScript 5 типовых задач на собеседовании, решаем их!
ВЫПОЛНЕНИЕ ЗАПРОСА К БАЗЕ ДАНЫХ ИЗ КЛИЕНТСКОГО
ПРИЛОЖЕНИЯ
Простая модель обращения к базе данных реализуется через три основных класса, которые могут быть реализованы на основе как универсальных технологий (Ole Db или ODBC), так и конкретных СУБД (например, SQL Server или MySQL):
• Класс курсора для получения данных из результата запроса.
Класс соединения настраивает параметры базы данных, к которой следует подключиться. Открытие такого соединения позволяет формулировать команды к серверу баз данных. Команды оформляются с помощью языка SQL и оформляются в программе с помощью класса команды. Класс курсора предназначен для чтения данных результата запроса. Курсор обычно является последовательным, т.е. с помощью него мы можем получить последовательно все записи результата запроса, начиная с первой до последней, но не можем вернуться к уже просмотренным записям.
Настройка соединения осуществляется через понятие строки соединения – параметров, которые описывают драйверы СУБД, конкретные базы данных и параметры безопасности для подключения к базе.
Например, для настройки источника данных ODBC требуется воспользоваться средством администрирования операционной системы Windows.
Рис. 37. Панель администрирования ОС Windows.
Для общения с серверными СУБД требуется, чтобы источник данных был системным:
Рис. 38.Окно просмотра источников данных ODBC.
При создании и редактировании источника данных требуется выбрать драйвер и задать параметры подключения к базе данных:
ТИПОВЫЕ ЗАДАЧИ ПО ХИМИИ. Часть 1.
Рис. 39.Окно настройки источника данных для сервера MySQL.
Драйверы могут устанавливаться и регистрироваться в операционной системе вместе с соответствующей СУБД, а могут быть и самостоятельным компонентами, которые следует установить отдельно. Так, например, для SQL Server драйвер SQL Native Client устанавливается в процессе установки СУБД, а для сервера MySQL драйвер (MySQL ODBC Connector) является дополнительной компонентой, которую следует установить отдельно.
Для настройки строки соединения через технологию Ole Db можно воспользоваться специальной утилитой операционной системы Windows. Для этого требуется создать файл с расширением “.udl”. При последующем открытии этого файла будут вызвано окно настройки источника данных:
Рис. 40. Окно сервиса OLE DB Core Services.
После выбора поставщика данных на вкладке «Подключение» следует настроить параметры базы данных (имя, местоположение, параметры безопасности). Этот файл можно будет открыть с помощью текстового редактора – в нем будет записана строка соединения через выбранный провайдер Ole Db.
Для примера рассмотрим подключение к базе данных на SQL Server. Создадим файл connect.udl (например, с помощью «Блокнота») и откроем его с помощью службы OLE DB Core Services. На вкладке «Поставщик данных» следует выбрать пункт «SQL Server Native Client номер версии» (номер версии, очевидно, зависит от установленного на компьютере SQL Server’а). Далее на вкладке «Соединение» следует настроить параметры подключения к серверу – имя сервера, параметры входа (обычно устанавливаются из системы безопасности операционной системы), имя используемой базы данных. С помощью кнопки «Проверить подключение» можно протестировать созданную строку соединения.
Рис. 41. Окно настройки параметров подключения к SQL Server.
Далее при открытии файла connect.udl с помощью «Блокнота» мы увидим сгенерированную строку подключения:
Persist Security Info=False;
User Catalog=proba;Data Source=(local);
Initial File Name=»»;Server SPN=»»
Далее приведен программный код, в котором осуществляется подключение к источнику данных, заданному с помощью ODBC и получение данных из базы данных с помощью формирования SQL-запроса:
// создание подключения к базе данных на основе строки соединения
// с указанием источника данных ODBC
OdbcConnection con = new OdbcConnection(«DSN=proba»);
// подключение к источнику данных con.Open();
// формирование команды SQL на выборку данных
OdbcCommand com = new OdbcCommand(«select * from Session», con);
// выполнение команды на сервере и сохранение результата
// в курсоре типа OdbcDataReader
// переход к следующей строке посредством функции Read() // пока строки в результате есть – печатаем информацию из строк while (dr.Read())
”+dr[“Zach_exam”]); // закрывается соединение dr.Close();
Аналогичным будет программный код и в случае использования подключения по технологии Ole DB. Отличия будут только в именах используемых классов для доступа к базе данных (OleDbConnection, OleDbCommand, OleDbDataReader) и, соответственно, в пространстве имен, содержащее эти классы.
Отметим еще момент, связанный с обеспечением доступа к полям строки курсора. Текущая строка представляется как ассоциативный массив, доступ к элементам которого можно осуществлять по номерам или по именам столбцов, что очень удобно с точки зрения последующего чтения программного кода.
ПАРАМЕТРЫ ЗАПРОСА
Пусть, например, номер группы, для которой требуется распечатать план сессии, вводится с клавиатуры и становится условием выборки записей из таблицы плана сессии для студентов.
// создание подключения к базе данных на основе строки соединения
// с указанием источника данных ODBC
OdbcConnection con = new OdbcConnection(«DSN=proba»);
// подключение к источнику данных con.Open();
// ввод номера группы
string group = Console.ReadLine();
// формирование команды SQL на выборку данных
OdbcCommand com = new OdbcCommand
(«select * from Sessions where NumGroup=?», con);
// выполнение команды на сервере и сохранение результата
// в курсоре типа OdbcDataReader
// переход к следующей строке посредством функции Read() // пока строки в результате есть – печатаем информацию из строк while (dr.Read())
// закрывается соединение dr.Close();
Нередко использование параметров применяется при удаленном вызове хранимых процедур и функций. Вспомним, что у нас имеются функции, которые позволяют перевести баллы в оценку (например, GetMark1). Вызов этой функции может быть таким:
// создание подключения к базе данных на основе строки соединения
// с указанием источника данных ODBC
OdbcConnection con = new OdbcConnection(«DSN=proba»);
// подключение к источнику данных con.Open();
// ввод набранных баллов на экзамене string b = Console.ReadLine();
// формирование команды SQL на вызов функции и получение ее результата
OdbcCommand com = new OdbcCommand(«select GetMark1(?)», con);
// выполнение команды на сервере и сохранение результата
//в курсоре типа OdbcDataReader
// переход к первой строке – результат вызова функции dr.Read();
// закрывается соединение dr.Close();
ВЫПОЛНЕНИЕ КОМАНД DML
Напомним, что командами DML являются команды вставки новых записей, изменения существующих записей и удаления записей. Данные команды возвращают число – количество строк, с которыми была выполнена требуемая операция. Вызов этих команд из клиентского приложения отличается только функцией класса OdbcCommand (или OleDbCommand) – вместо ExecuteReader() вызывается функция ExecuteScalar().
Например, пусть создается новая учебная дисциплина:
// создание подключения к базе данных на основе строки соединения
// с указанием источника данных ODBC
OdbcConnection con = new OdbcConnection(«DSN=proba»);
// подключение к источнику данных con.Open();
// ввод названия новой учебной дисциплины string title = Console.ReadLine();
// формирование команды SQL на добавление данных – в таблице ключ
// задается с помощью поля-счетчика, так что указывать
// его в запросе на вставку не обязательно
OdbcCommand com = new OdbcCommand («insert into Subjects values (‘?’)», con);
// закрывается соединение con.Close();
Источник: infopedia.su
Достоинства
По сравнению с клиент-серверной или файл-серверной архитектурой можно выделить следующие достоинства трёхуровневой архитектуры:
- масштабируемость
- конфигурируемость — изолированность уровней друг от друга позволяет (при правильном развертывании архитектуры) быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней
- высокая безопасность
- высокая надёжность
- низкие требования к скорости канала (сети) между терминалами и сервером приложений
- низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости. Терминалом может выступать не только компьютер, но и, например, мобильный телефон.
Недостатки вытекают из достоинств. По сравнению c клиент-серверной или файл-серверной архитектурой можно выделить следующие недостатки трёхуровневой архитектуры:
- более высокая сложность создания приложений;
- сложнее в разворачивании и администрировании;
- высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;
- высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.
Типовые задачи, решаемые клиентскими программами.
Создание пользовательского приложения требует разработки так называемого дружественного интерфейса пользователя, т.е. организации диалога между пользователем и компьютером (клиентом и сервером).
Основным способом организации диалога является разработка диалоговых форм, которые по назначению можно подразделить на следующие группы:
• для ввода данных в таблицы;
• для ввода условий обработки информации в запросы;
• для автоматизации работы с объектами базы данных. Формы для ввода данных в таблицы предназначаются для такой
организации процедур внесения информации, которые могли бы свести к минимуму возможность ошибок оператора. Кроме того, такие формы могут служить для проведения анализа имеющихся в таблицах данных.
Формы для ввода условий обработки информации в запросы имеют назначение, аналогичное формам для ввода данных в таблицы
Формы для автоматизации работы с объектами базы данных имеют различное назначение, например это формы-заставки, формы-меню, кнопочные формы и др.
Все эти формы и представляют собой интерфейс пользователя.
Разработка форм может производиться различными средствами визуального проектирования, например:
с помощью языков программирования (C++, Delphi, VBA);
с помощью специальных компонентов СУБД (конструкторов форм Microsoft Access, Oracle и др.).
Однако, какими бы средствами не разрабатывались формы интерфейса пользователя, необходимо учитывать следующие советы и рекомендации:
• прежде чем приступать к проектированию форм, необходимо продумать «сценарий» пользовательского интерфейса, т.е. определить последовательность появления форм на экране компьютера пользователя в соответствии с выполняемыми задачами. Фактически разработчик форм должен научиться создавать сценарии аналогично сценаристу художественных фильмов;
• каждая форма должна иметь название, которое однозначно определяет ее назначение;
• форма должна иметь привлекательный внешний вид, но при этом не должна содержать информации, не относящейся к конкретной задаче;
• формы для ввода данных в таблицы или параметров в запросы должны обеспечивать:
минимизацию возможных ошибок при вводе данных пользователем за счет согласования терминов и сокращений, ввода данных из списков и создания сообщений о допущенной ошибке;
оптимальные способы перемещения курсора (табуляцией, стрелками, указателем мыши);
получение пояснительных сообщений или инструкций при вводе данных в поля таблиц или запросов;
автоматическое закрытие формы и переход к следующей форме.
Источник: studfile.net
Распределённая информационная система. Определение, характеристики и примеры. Серверы приложений и прикладные протоколы , страница 2
12. Размещение графических изображений на HTML-странице. Вставка файлов мультимедиа — Графический объект – второй по значимости компонент web-страниц. К графическим объектам относят: рисунки, фото, видеоклипы. Тег применяется для внедрения в web-страницы изображения. Например
13. Гиперссылки в HTML. Использования изображение в качестве ссылки. – Гиперссылкой может стать любой фрагмент видимого содержимого web-страницы: и текст, и графическое изображение. Для этого применяет тег .
14. Фреймы. Виды фреймов в HTML. Правила описания фреймов. Пример создания страницы с использованием фреймов. – Фреймы – это области, на которые делится окно web-браузера, расположенные вплотную друг к другу.
В HTML существуют два вида фрейма – плавающий и обычный. Для создания фрейма используется тег
15. Использование форм на языке HTML. Типы управляющих элементов формы: text, submit, image, reset, radio, checkbox, button, password и др.
Type=text – определяет окно ввода, type=password – определяет окно для ввода пароля, type=radio – определяет радиокнопку, type=checkbox – определяет квадрат, в котором можно сделать пометку, type=submit – определяет кнопку, при нажатии на которую запускается процесс передачи данных обработчику, type=reset – определяет кнопку, при нажатии на которую очищаются все поля формы, type=button – определяет кнопку для других целей, type=file – создает поле ввода имени файла, type=image – создает поле с изображением
16. Каскадные таблицы стилей. Способы добавления таблиц стилей в HTML-документ. – Каскадные таблицы стилей предназначены для хранения информации о web-странице. CSS позволяет отделить форматирование HTML документа от его содержания. Можно встроить таблицу в документ с помощью тега
17. Определение правил стилей. Псевдоклассы и псевдоэлементы каскадных таблиц стилей. – Это особые классы и элементы, автоматические определяемые поддерживающими CSS браузерами. Псевдоклассы различают разные типы одного элемента, создавая собственные стили для каждого из них.
Псевдоэлементы являются частями других элементов, задавая этим частям отличный код элемента в целом стиле.
18. Расширяемый язык разметки XML. Структура XML-документа. Правила создания XML-документа. – XML –расширяемый язык разметки, рекомендованный W3C, представляющий собой свод общих синтаксических правил.
XML предназначен для хранения структурированных данных, для создания на его основе более специализированных языков разметки, например XHTML. Правила создания –документ должен иметь только один корневой элемент, значения атрибутов должны быть заключены в кавычки ,в XML учитывается регистр символов, в заголовке должен быть указан язык разметки и его версия.
19. Язык XML. Создание шаблона DTD XML-документа. Понятие валидного документа. – DTD – определение типа документа. Действительный документ включает объявления типа документа, в котором указывается, какому DTD удовлетворяет данный документ.
20. Типовые задачи клиентских программ. Стандартные функции web-клиентов. – Задачи клиентских программ – обеспечение связи с сервером, формулирование запросов и передача их серверу, обеспечение редактирования дополнительной обработки. Функции web-клиентов можно разделить на две группы: стандартные и дополнительные.
Стандартные – обеспечение доступа к различным ресурсам интернета, обеспечение работы с информационными объектами различного типа, обеспечение кэширования и управления загрузкой объекта.
21. Язык сценариев Java Script. Характеристика и возможности языка. Внедрение объектов JavaScript в HTML-документ – Javascript – объектно-ориентированный скриптовый язык программирования. Широко применяется в браузерах.
Программы на языке Javascript обычно встраиваются прямо в HTML-файл.
Document.wrute (“А это Javascript!”)
22. Язык Java Script. Синтаксис. Правила создания переменных. Типыданных. – Синтаксис Переменные объявляются при помозь опертора var.
Переменную не обязательно объявлять. Типы данных в Javascript – 1) Простые типы данных (числовой, логический, строковый) 2)объектный тип данных
23. Язык Java Script. Ввод и вывод данных. Арифметические и логические операторы. Рассмотреть на примере – Арифметические операторы – “=” присваивание, “+”, -“, “*”, “/”. Логические операторы – Логическое И (), логическое ИЛИ (II), логические НЕ (!)
Источник: vunivere.ru