Создание клиентского приложения к базе данных
Основные понятия и виды баз данных. Виды моделей данных. Основные понятия реляционных баз данных. Обзор СУБД Microsoft SQL Server. Разработка клиентского приложения к базе данных. Технология ADO NET. Создание базы данных в Microsoft SQL Server 2005.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.04.2010 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
МИНИСТЕРСТВО КУЛЬТУРЫ РОССИЙСКОЙ ФЕДЕРАЦИИ
ТАМБОВСКИЙ ФИЛИАЛ
Федерального государственного образовательного учреждения
высшего профессионального образования
«Московский государственный университет культуры и искусств»
Кафедра прикладной информатики
Курсовая работа
СОЗДАНИЕ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ К БАЗЕ ДАННЫХ
Выполнил:
Студент группы 3-И2
очного отделения
Научный руководитель:
В.Н. Точка
Тамбов 2009
Содержание
- Введение
- 1. Основные понятия и виды баз данных
- 1.1 Базы данных
- 1.2 Виды моделей данных
- 1.3 Основные понятия реляционных баз данных
- 2. Обзор СУБД MICROSOFT SQL SERVER
- 2.1 Понятие СУБД
- 2.2 Обзор Microsoft SQL Server
- 3. Разработка клиентского приложения к базе данных
3.1 Технология ADO NET
3.2 Создание базы данных в Microsoft SQL Server 2005
3.3 Создание клиентского приложения
- Заключение
- Список использованных источников
- Обозначения и сокращения
- БД - база данных
- ПО - программное обеспечение
- СУБД - система управления базой данных
Введение
Актуальность: в настоящее многие компании используют в своей работе программное обеспечение и ошибка в работе этих программ может принести большие неудобства, затраты этой компании. Поэтому разработчикам программного обеспечения необходимо уделять много времени и ресурсов тестированию этих программ.
Цель исследования: спроектировать процесс тестирования программного обеспечения.
Задачи исследования:
- найти и изучить материал по тестированию программного обеспечения;
- разработать тесты программного обеспечения;
- спроектировать процесс тестирования программного обеспечения;
Объект исследования: разработка программного обеспечения.
Предмет исследования: тестирование программного обеспечения.
Тип данного исследования: разработка.
1. Основные понятия и виды баз данных
1.1 Базы данных
Цель любой информационной системы -- обработка данных об объектах реального мира. В широком смысле слова база данных -- это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира, подлежащего изучению для организации управления и, в конечном счете, автоматизации, например предприятие, вуз и т д.
Создавая базу данных, пользователь стремится упорядочить информацию по различным признакам и быстро извлекать выборку с произвольным сочетанием признаков. Сделать это возможно, только если данные структурированы.
Структурирование -- это введение соглашений о способах представления данных.
Неструктурированными называют данные, записанные, например, в текстовом файле.
Пользователями базы данных могут быть различные прикладные программы, программные комплексы, а также специалисты предметной области, выступающие в роли потребителей или источников данных, называемые конечными пользователями.
В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляются централизованно с помощью специального программного инструментария -- системы управления базами данных.
База данных (БД) -- это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) -- это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
Централизованный характер управления данными в базе данных предполагает необходимость существования некоторого лица (группы лиц), на которое возлагаются функции администрирования данными, хранимыми в базе.
Существует большое количество БД их можно классифицировать следующим образом.
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным базы данных разделяются на базы данных с локальным доступом и базы данных с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем: файл-сервер; клиент-сервер.
Архитектура файл-сервера предполагает выделение одной из машин сети в качестве центральной (сервер, файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут создавать также на рабочих станциях локальные БД, которые используются ими монопольно.
Клиент-сервер подразумевает, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SOL.
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, файл (таблица).
Поле -- элементарная единица логической организации данных, которая соответствует неделимой единице информации -- реквизиту. Для описания поля используются следующие характеристики:
имя, например. Фамилия, Имя, Отчество, Дата рождения;
тип, например, символьный, числовой, календарный;
длина, например, 15 байт, причем будет определяться максимально возможным количеством символов;
точность для числовых данных, например два десятичных знака для отображения дробной части числа.
Запись -- совокупность логически связанных полей. Экземпляр записи -- отдельная реализация записи, содержащая конкретные значения ее полей.
Файл (таблица) -- совокупность экземпляров записей одной структуры.
В структуре записи файла указываются поля, значения которых являются ключами первичными (ПК), которые идентифицируют экземпляр записи, и вторичными (ВК), которые выполняют роль поисковых или группировочных признаков (по значению вторичного ключа можно найти несколько записей).
1.2 Виды моделей данных
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности и операций манипулирования данными. С помощью модели данных могут быть представлены объекты предметной области и взаимосвязи между ними.
Модель данных -- совокупность структур данных и операций их обработки.
СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или на некотором их подмножестве.
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Объекты, связанные иерархическими отношениями, образуют ориентированный граф (перевернутое дерево).
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел -- это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи.
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
Понятие реляционный (англ. relation -- отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобным для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
- каждый элемент таблицы -- один элемент данных;
- все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;
- каждый столбец имеет уникальное имя;
- одинаковые строки в таблице отсутствуют;
- порядок следования строк и столбцов может быть произвольным.
Отношения представлены в виде таблиц, строки которых соответствуют кортежам или записям, а столбцы -- атрибутам отношений, доменам, полям.
Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи однозначно определяются значениями нескольких полей, то такая таблица базы данных имеет составной ключ.
Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ -- ключ второй таблицы.
1.3 Основные понятия реляционных баз данных
Принято считать, что реляционный подход к организации баз данных был заложен в конце 1960-х гг. Эдгаром Коддом. В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке SQL, в действительности нарушаются некоторые важные принципы классического реляционного подхода). Достоинствами реляционного подхода принято считать следующие свойства: реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; эти абстракции могут быть точно и формально определены; теоретическим базисом реляционного подхода к организации баз данных служит простой и мощный математический аппарат теории множеств и математической логики; реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. Компьютерный мир далеко не сразу признал реляционные системы. В 70-е года прошлого века, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение. В этой лекции на сравнительно неформальном уровне вводятся основные понятия реляционных баз данных, а также определяется сущность реляционной модели данных. Основной целью лекции является демонстрация простоты и возможности интуитивной интерпретации этих понятий. В следующих лекциях будут приводиться более формальные определения, на которых основана теория реляционных баз данных.
Выделют следующие основные понятия реляционных баз данных: тип данных, домен, атрибут, кортеж, отношение, первичный ключ. Смысл этих понятий отображен на рисунке 1, в качестве примера используется БД СЛУЖАЩИЕ, содержащего информацию о служащих некоторого предприятия.
Рисунок 1 - Соотношение основных понятий реляционного подхода
Значения данных, хранимые в реляционной базе данных, являются типизированными, т. е. известен тип каждого хранимого значения. Понятие типа данных в реляционной модели данных полностью соответствует понятию типа данных в языках программирования. Напомним, что традиционное (нестрогое) определение типа данных состоит из трех основных компонентов: определение множества значений данного типа; определение набора операций, применимых к значениям типа; определение способа внешнего представления значений типа (литералов).
Обычно в современных реляционных базах данных допускается хранение символьных, числовых данных (точных и приблизительных), специализированных числовых данных (таких, как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Кроме того, в реляционных системах поддерживается возможность определения пользователями собственных типов данных (более подробно мы обсудим это в лекции 9, курса "Введение в модель данных SQL").
В примере на рисунке 1 мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».
Понятие домена более специфично для баз данных, хотя и имеются аналогии с подтипами в некоторых языках программирования (более того, в своем «Третьем манифесте» Кристофер Дейт и Хью Дарвен вообще ликвидируют различие между доменом и типом данных). В общем виде домен определяется путем задания некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементу этого типа данных (ограничения домена). Элемент данных является элементом домена в том и только в том случае, если вычисление этого логического выражения дает результат истина (для логических значений мы будем попеременно использовать обозначения истина и ложь или true и false). С каждым доменом связывается имя, уникальное среди имен всех доменов соответствующей базы данных.
Наиболее правильной интуитивной трактовкой понятия домена является его восприятие как допустимого потенциального, ограниченного подмножества значений данного типа. Например, домен ИМЕНА в нашем примере определен на базовом типе символьных строк, но в число его значений могут входить только те строки, которые могут представлять имена (в частности, для возможности представления русских имен такие строки не могут начинаться с мягкого или твердого знака и не могут быть длиннее, например, 20 символов). Если некоторый атрибут отношения определяется на некотором домене то в дальнейшем ограничение домена играет роль ограничения целостности, накладываемого на значения этого атрибута.
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов НОМЕРА ПРОПУСКОВ и НОМЕРА ОТДЕЛОВ относятся к типу целых чисел, но не являются сравнимыми (допускать их сравнение было бы бессмысленно).
Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения
Понятие отношения является наиболее фундаментальным в реляционном подходе к организации баз данных, поскольку n-арное отношение является единственной родовой структурой данных, хранящихся в реляционной базе данных. Это отражено и в общем названии подхода - термин реляционный (relational) происходит от relation (отношение). Однако сам термин отношение является исключительно неточным, поскольку, говоря про любые сохраняемые данные, мы должны иметь в виду тип этих данных, значения этого типа и переменные, в которых сохраняются значения. Соответственно, для уточнения термина отношение выделяются понятия заголовка отношения, значения отношения и переменной отношения. Кроме того, нам потребуется вспомогательное понятие кортежа.
Итак, заголовком (или схемой) отношения r (Hr) называется конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны. В примере на рис. 2.1 заголовком отношения СЛУЖАЩИЕ является множество пар {<слу_номер, номера_пропусков>, <слу_имя, имена>, <слу_зарп, размеры_выплат>, <слу_отд_номер, номера_отделов>}.
Если все атрибуты заголовка отношения определены на разных доменах, то, чтобы не плодить лишних имен, разумно использовать для именования атрибутов имена соответствующих доменов (не забывая, конечно, о том, что это всего лишь удобный способ именования, который не устраняет различия между понятиями домена и атрибута).
Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида <A, T, v>, по одному такому триплету для каждого атрибута в Hr. Третий элемент - v - триплета <A, T, v> должен являться допустимым значением типа данных или домена T. Заголовку отношения СЛУЖАЩИЕ соответствуют, например, следующие кортежи: {<слу_номер, номера_пропусков, 2934>, <слу_имя, имена, Иванов>, <слу_зарп, размеры_выплат, 22.000>, <слу_отд_номер, номера_отделов, 310>}, {<слу_номер, номера_пропусков, 2940>, <слу_имя, имена, Кузнецов>, <слу_зарп, размеры_выплат, 35.000>, <слу_отд_номер, номера_отделов, 320>}.
Телом Br отношения r называется произвольное множество кортежей tr. Одно из возможных тел отношения СЛУЖАЩИЕ показано на рисунке 1. Заметим, что в общем случае, как это демонстрируют, в частности, рисунке 1 и пример предыдущего абзаца, могут существовать такие кортежи tr, которые соответствуют Hr, но не входят в Br.
Значением Vr отношения r называется пара множеств Hr и Br. Одно из допустимых значений отношения СЛУЖАЩИЕ показано на рисунке 1.
В изменчивой реляционной базе данных хранятся отношения, значения которых изменяются во времени. Переменной VARr называется именованный контейнер, который может содержать любое допустимое значение Vr. Естественно, что при определении любой VARr требуется указывать соответствующий заголовок отношения Hr.
Здесь стоит подчеркнуть, что любая принятая на практике операция обновления базы данных - INSERT (вставка кортежа в переменную отношения), DELETE (удаление кортежа из значения-отношения переменной отношения) и UPDATE (модификация кортежа значения-отношения переменной отношения) - с модельной точки зрения является операцией присваивания переменной отношения некоторого нового значения-отношения. Это совсем не означает, что перечисленные операции должны выполняться именно таким образом в СУБД: главное, чтобы результат операций соответствовал этой модельной семантике.
Заметим, что в дальнейшем в тех случаях, когда точный смысл термина понятен из контекста, мы будем использовать термин отношение как в смысле значение отношения, так и в смысле переменная отношения.
По определению, степенью, или «арностью», заголовка отношения, кортежа, соответствующего этому заголовку, тела отношения, значения отношения и переменной отношения является мощность заголовка отношения. Например, степень отношения СЛУЖАЩИЕ равна четырем, т. е. оно является 4-арным (кватернарным).
При приведенных определениях разумно считать схемой реляционной базы данных набор пар <имя_VARr, Hr>, включающий имена и заголовки всех переменных отношения, которые определены в базе данных. Реляционная база данных - это набор пар <VARr, Hr> (конечно, каждая переменная отношения в любой момент времени содержит некоторое значение-отношение, в частности, пустое).
Заметим, что в классических реляционных базах данных после определения схемы базы данных могли изменяться только значения переменных отношений. Однако теперь в большинстве реализаций допускается и изменение схемы базы данных: определение новых и изменение заголовков существующих переменных отношений. Это принято называть эволюцией схемы базы данных.
По определению, первичным ключом переменной отношения является такое подмножество1) S множества атрибутов ее заголовка, что в любое время значение первичного ключа (составное, если в состав первичного ключа входит более одного атрибута) в любом кортеже тела отношения отличается от значения первичного ключа в любом другом кортеже тела этого отношения, а никакое собственное подмножество2) S этим свойством не обладает. В следующем разделе мы покажем, что существование первичного ключа у любого значения отношения является следствием одного из фундаментальных свойств отношений, а именно того свойства, что тело отношения является множеством кортежей.
Обычным житейским представлением отношения является таблица, заголовком которой является схема отношения, а строками - кортежи отношения-экземпляра; в этом случае имена атрибутов соответствуют именам столбцов данной таблицы. Поэтому иногда говорят про «столбцы таблицы», имея в виду «атрибуты отношения».
2. Обзор СУБД Microsoft SQL Server
2.1 Понятие СУБД
В прикладной программе, использующей при решении задачи один или несколько отдельных файлов, за сохранность и достоверность данных отвечал программист, работающий с этой задачей. Использование базы данных предполагает работу с ней нескольких прикладных программ, решающих задачи разных пользователей.
Естественно, что за сохранность и достоверность интегрированных данных программист, решающий одну из прикладных задач, отвечать уже не может. Кроме того, расширение круга решаемых с использованием базы данных задач может приводить к появлению новых типов записей и отношений между ними. Такое изменение структуры базы данных не должно вести к изменению множества ранее разработанных и успешно функционирующих прикладных программных систем, работающих с базой данных. С другой стороны, возможное изменение любой из прикладных программ, в свою очередь, не должно приводить к изменению структуры данных. Все вышесказанное обусловливает необходимость отделения данных от прикладных программ.
Роль интерфейса между прикладными программами и базой данных, обеспечивающего их независимость, играет программный комплекс - система управления базами данных.
СУБД - программный комплекс поддержки интегрированной совокупности данных, предназначенный для создания, ведения и использования базы данных многими пользователями.
Банк данных - система языковых, алгоритмических, программных, технических и организационных средств поддержки интегрированной совокупности данных, а также сами эти данные, представленные в виде баз данных.
Основные функции системы управления базами данных:
- определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки. Как правило, создание структуры базы данных происходит в режиме диалога. СУБД последовательно запрашивает у пользователя необходимые данные. В большинстве современных СУБД база данных представляется в виде совокупности таблиц;
- предоставление пользователям возможности манипулирования данными (выборка необходимых данных, выполнение вычислений, разработка интерфейса ввода/вывода, визуализация). Такие возможности в СУБД представляются либо на основе использования специального языка программирования, входящего в состав СУБД, либо с помощью графического интерфейса;
- обеспечение независимости прикладных программ и данных. Важнейшим свойством СУБД является возможность поддерживать два независимых взгляда на базу данных - "взгляд пользователя", воплощаемый в логическом представлении данных, и его отражения в прикладных программах; и "взгляд системы" - физическое представление данных в памяти ЭВМ. Обеспечение логической независимости данных предоставляет возможность изменения (в определенных пределах) логического представления базы данных без необходимости изменения физических структур хранения данных. Таким образом, изменение логического представления данных в прикладных программах не приводит к изменению структур хранения данных. Обеспечение физической независимости данных предоставляет возможность изменять (в определенных пределах) способы организации базы данных в памяти ЭВМ не вызывая необходимости изменения "логического" представления данных. Таким образом, изменение способов организации базы данных не приводит к изменению прикладных программ.
2.2 Обзор Microsoft SQL Server
Сегодня организации сталкиваются с многочисленными проблемами по обработке информации; например, с потребностью в более быстрых и основанных на управлении данными решениях, с потребностью увеличить производительность и мобильность штата разработчиков, а также с настойчивыми требованиями уменьшить общий бюджет отдела информационных технологий, увеличивая инфраструктуру в соответствии со строго возрастающими требованиями.
Microsoft SQL Server -- система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов -- Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для от небольших и средних по размеру баз данных до крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка.
Исходный код MS SQL Server (до версии 7.0) основывался на коде Sybase SQL Server, и это позволило Microsoft выйти на рынок баз данных для предприятий, где конкурировали Oracle, IBM, и, позже, сама Sybase. Microsoft, Sybase и Ashton-Tate первоначально объединились для создания и выпуска на рынок первой версии программы, получившей название SQL Server 1.0 для OS/2 (около 1989 года), которая фактически была эквивалентом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server 4.2 был выпущен в 1992 году и входил в состав операционной системы Microsoft OS/2 версии 1.3. Официальный релиз Microsoft SQL Server версии 4.21 для ОС Windows NT состоялся одновременно с релизом самой Windows NT (версии 3.1). Microsoft SQL Server 6.0 был первой версией SQL Server, созданной исключительно для архитектуры NT и без участия в процессе разработки Sybase.
К тому времени, как вышла на рынок ОС Windows NT, Sybase и Microsoft разошлись и следовали собственным моделям программного продукта и маркетинговым схемам. Microsoft добивалась исключительных прав на все версии SQL Server для Windows. Позже Sybase изменила название своего продукта на Adaptive Server Enterprise во избежание путаницы с Microsoft SQL Server. До 1994 года Microsoft получила от Sybase три уведомления об авторских правах как намёк на происхождение Microsoft SQL Server.
После разделения компании сделали несколько самостоятельных релизов программ. SQL Server 7.0 был первым сервером баз данных с настоящим пользовательским графическим интерфейсом администрирования. Для устранения претензий со стороны Sybase в нарушении авторских прав, весь наследуемый код в седьмой версии был переписан.
Версия SQL Server 2005 -- была представлена в ноябре 2005 года. Запуск версии происходил параллельно запуску Visual Studio 2005. Существует также «урезанная» версия Microsoft SQL Server -- Microsoft SQL Server Express; она доступна для скачивания и может бесплатно распространяться вместе с использующим её программным обеспечением.
С момента выпуска предыдущей версии SQL Server (SQL Server 2000) было осуществлено развитие интегрированной среды разработки и ряда дополнительных подсистем, входящих в состав SQL Server 2005. Изменения коснулись реализации технологии ETL (извлечение, преобразование и загрузка данных), входящей в состав компонента SQL Server Integration Services (SSIS), сервера оповещения, средств аналитической обработки многомерных моделей данных (OLAP) и сбора релевантной информации (обе службы входят в состав Microsoft Analysis Services), а также нескольких служб сообщений, а именно Service Broker и Notification Services. Помимо этого, были произведены улучшения в производительности.
Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.
Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) -- интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.
SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL -- это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.
SQL Server поддерживает избыточное дублирование данных по трем сценариям:
- Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
- История изменений: Все изменения базы данных непрерывно передаются пользователям.
- Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.
В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.
3. Разработка клиентского приложения к базе данных
3.1 Технология ADO NET
Что бы разработать клиентское приложение нам потребуется технология ADO .NET .
ADO .NET (ActiveX Data Objects .NET) является набором классов, реализующих программные интерфейсы для облегчения подключения к базам данных из приложения независимо от особенностей реализации конкретной системы управления базами данных и от структуры самой базы данных, а также независимо от места расположения этой самой базы -- в частности, в распределенной среде (клиент-серверное приложение) на стороне сервера. ADO .NET широко используется совместно с технологией web-программирования с использованием объектов ASP .NET для доступа к расположенным на сервере базам данных со стороны клиента. Решение даже самой простой задачи, связанной с данными, предполагает использование множества разнообразных объектов - представителей классов ADO .NET, которые находятся между собой в достаточно сложных взаимоотношениях.
Работа с БД на уровне приложения .NET - это работа:
- с множествами объявлений классов, которые содержат объявления унаследованных методов и свойств, предназначенных для решения задачи извлечения информации из базы данных;
- с множеством объектов-представителей классов, которые обеспечивают работу с базами данных;
- с множеством значений и свойств конкретных объектов, отражающих специфику структуры конкретной базы данных.
Функциональные особенности этой сложной системы взаимодействующих классов обеспечивают единообразную работу с базами данных независимо от системы управления базой и ее реализации.
В приложениях, работающих с базами данных, до недавних пор применялся доступ к данным через постоянное соединение с источником данных. Приложение открывало соединение с базой данных и не закрывало его по крайней мере до завершения работы с источником данных. В это время соединение с источником поддерживалось постоянно.
Недостатки такого подхода стали выявляться после появления приложений, ориентированных на Интернет.
Соединения с базой данных требуют выделения системных ресурсов, и если база данных располагается на сервере, то при большом количестве клиентов это может быть критично для сервера. Хотя постоянное соединение и позволяет немного ускорить работу приложения, общий убыток от растраты системных ресурсов преимущество в скорости выполнения приложения сводит на нет.
Факт плохого масштабирования приложений с постоянным соединением известен давно. Соединение с парой клиентов обслуживается приложением хорошо, 10 клиентов обслуживаются хуже, 100 - много хуже.
В ADO .NET используется другая модель доступа - доступ к отсоединенным данным. При этом соединение устанавливается лишь на то время, которое необходимо для проведения определенной операции над базой данных.
Модель доступа - модель компромиссная. В ряде случаев она проигрывает по производительности традиционной модели, и для этих случаев рекомендуется вместо ADO .NET использовать ADO.
Объектная модель ADO .NET реализует отсоединенный доступ к данным. При этом в Visual Studio .NET существует множество ВСТРОЕННЫХ мастеров и дизайнеров, которые позволяют реализовать механизмы доступа к БД еще на этапе разработки программного кода.
С другой стороны, задача получения доступа к данным может быть решена непосредственно во время выполнения приложения. Концепция доступа к данным в ADO .NET основана на использовании двух компонентов:
- набора данных (представляется объектом класса DataSet) со стороны клиента. Это локальное временное хранилище данных;
- провайдера данных (представляется объектом класса DataProvider). Это посредник, обеспечивающий взаимодействие приложения и базы данных со стороны базы данных (в распределенных приложениях - со стороны сервера).
Объектная модель ADO .NET предполагает существование (при написании приложения для работы с базой данных -- использование) двух множеств классов, выполняющих четко определенные задачи при работе с базой данных: классы подсоединенных объектов, классы отсоединенных объектов.
Классы подсоединенных объектов обеспечивают установление соединения с базой данных и управление базой со стороны приложения; классы отсоединенных объектов обеспечивают сохранение, использование и преобразование полученной от базы данных информации на стороне приложения.
3.2 Создание базы данных в Microsoft SQL Server 2005
Для того что бы клиентское приложение могло работать для него необходимо создать БД. Чтобы создать БД на Microsoft® SQL Server 2005, необходимо запустить утилиту Microsoft SQL Server Management Studio из поставки SQL сервера. После соединения нужно щелкнуть правой кнопкой мыши по контейнеру Database в Object Explorer и в контекстном меню выбрать New Database. Откроется диалоговое окно New Database которое показано на рисунке 2, в котором в котором нужно ввести только имя создаваемой базы данных. Для всех остальных параметров будут подставлены значения по умолчанию.
Рисунок 2 - окно New Database
Для клиентского приложения будет использоваться БД с названием Jurnal. Данная БД предназначена для учета посещаемости студентов она должна показывать какой студент, какого числа отсутствовал на занятии. БД Jurnal состоит из таблиц. Таблицы представляют собой основные единицы хранения данных в реляционной базе данных. Общепринято, что каждый тип сущности, например, определенная разновидность ароматического масла в базе данных нашего примера, представляется таблицей, в то время как каждый экземпляр сущности, например, Clary Sage или German Chamomile, представляется строкой в таблице. Каждый столбец в таблице имеет определенные свойства, которые описывают его в SQL Server. Наиболее важным из этих свойств является тип данных, который является описанием типа информации, которая будет храниться в столбце. SQL Server предоставляет обширный перечень типов данных. Так как наши таблицы содержат не длинные данные то лучше всего использовать тип данных nchar.
Таблицы создаются и обслуживаются с помощью конструктора таблиц Table Designer Enterprise Manager. Первая таблица созданная с помощью конструктора это таблица “student” она изображена на рисунке 3.
Рисунок 3 - таблица “student”
Данная таблица содержит список студентов. Следующая таблица “Predmet” она изображена на рисунке 4.
Рисунок 4 - таблица “Predmet”
Эта таблица содержит список изучаемых предметов. Помимо таблиц “Predmet” и “student” в БД Jurnal включены еще одна таблица: таблица “Propusk” она изображена на рисунке 5.
Рисунок 5 - таблица “Propusk”
Таблица “Propusk” отображает пропуски студентов с учетом Фамилии, предмета и числа.
3.3 Создание клиентского приложения
Один из этапов разработки приложения для взаимодействия с БД “Jurnal” -- установка соединения с источником данных и управление этим соединением. В объектной модели ADO.NET соединение с источником данных представлено объектом Connection. Свойства объекта Connection позволяют задать реквизиты пользователя, а также указать расположение источника данных. Методы этого объекта позволяют управлять соединением с источником данных. Кроме того, объект Connection можно использовать в качестве отправной точки для создания объектов Command и Transaction. Для того чтобы соединится с БД необходима создать экземпляр класса подключения. Он создается:
SqlConnectionStringBuilder a = new SqlConnectionStringBuilder();
Весь представленный код записывается в кнопку button1.
Для подготовки объекта подключения к открытию подключения к SQL Server на локальной машине с помощью Windows - аутендификации и подключения к БД “Jurnal” используется следующий код:
a.DataSource = textBox1.Text;
a.InitialCatalog = textBox2.Text;
a.IntegratedSecurity = true;
a.UserID = textBox3.Text;
a.Password = textBox4.Text;
Создание объекта Connection не приводит к немедленному открытию соединения. Открыть соединение можно в любой момент. Это делается с помощью метода Open.
SqlConnection b = new SqlConnection();
b.ConnectionString = a.ConnectionString;
b.Open();
Где в DataSource записывается расположение БД, в InitialCatalog указывается название БД, а в следующих полях UserID и Password записывается имя пользователя и пароль.
После установки подключения необходимо указать какие данные нужны приложению и получить результат.
ADO.NET не накладывает ограничений на язык или синтаксис, но наиболее распространеным форматом языка запросов к источнику данных является SQL.
SQL позволяет выполнить запросы к БД, указав критерии выборки с помощью команды SELECT, либо обрабатывать дынные командами INSERT, UPDATE или DELETE.
Сам объет Connection не способен выполнять какие-либо операции, а является фактически мостом между клиентским приложением и источником данных, через который другие объекты получают доступ к источнику. Объект который позволяет работать с источником данных, является объект Command. Именно это объект позволяет выполнять выражения SQL и хранимые процедуры в БД.
Для создания запроса необходимо создать объект comand, он создается:
SqlCommand c = new SqlCommand();
Ниже представлен код которы создает запрос к таблице student, считывае все имена находящиеся в столбце ID+Sudent и выводит их в поле combobox1.
c.CommandText = "select [ID+Sudent] from student";
c.Connection = b;
SqlDataReader f = c.ExecuteReader();
while (f.Read())
comboBox1.Items.Add(f[0]);
Следующий код также создает запрос, но уже к таблице Predmet и считывае названия всех предметов которые находятся в столбце ID+Predmet, полученный результат записывает в Combobox2.
SqlConnection opendis = new SqlConnection();
opendis.ConnectionString = a.ConnectionString;
opendis.Open();
SqlCommand q = new SqlCommand();
q.CommandText = "select [ID+Predmet] from Predmet";
q.Connection = opendis;
SqlDataReader z = q.ExecuteReader();
while (z.Read())
comboBox2.Items.Add(z[0]);
После того как записали данные в comboBox нужно выполнит запрос к табли таблице Propusk выбрать все элементы столбца ID+Data и ID+Propusk с учетом выбранных элементов в comboBox и результат вывести в текстовое поле. Это запрос реализован ниже:
SqlCommand w = new SqlCommand();
SqlCommand v = new SqlCommand();
SqlCommand n = new SqlCommand();
w.CommandText = "select [N] from [student] where [ID+Sudent]='" + comboBox1.Text + "'";
w.Connection = openprop;
SqlDataReader x = w.ExecuteReader();
x.Read();
string ff = x[0].ToString();
x.Close();
n.CommandText = "select [N] from [Predmet] where [ID+Predmet]='" + comboBox2.Text + "'";
n.Connection = openprop;
SqlDataReader p = n.ExecuteReader();
p.Read();
string i = p[0].ToString();
p.Close();
v.CommandText = "select [ID+Data],[ID+Propusk] from Propusk where [ID+Student]='" + ff + "'" + "and [ID+Predmet]='" + i + "'" ; v.Connection = openprop;
x = v.ExecuteReader();
while (x.Read())
richTextBox1.Text += x[0].ToString() + x[1].ToString() + "\n";
Внешний вид приложения реализующий доступ к БД “Jurnal” представлен на рисунке 6.
Приложение состоит из двух частей :
- первая часть реализует соединение с БД “Jurnal” , здесь имеется 4 текстовых поля для заполнения и одна кнопка соединить, в поле имя сервера вводится название сервера где расположенна БД, в поле название БД вводится имя БД, следующие два поля предназначены для аудентификации пользователя в них водятся имя пользователя и пароль ;
- вторая часть преожения осущетвляет вывод пропусков, она состоит из двух полей выбора где осуществляется выбор студента и предмета, кноп выполнить и текстового поля куда записывается результат выполнения программы.
Рисунок 6 - БД клиент
Кнопка соеденит имеет следующий исходный техст:
SqlConnectionStringBuilder a = new SqlConnectionStringBuilder();
a.DataSource = textBox1.Text;
a.InitialCatalog = textBox2.Text;
a.IntegratedSecurity = true;
a.UserID = textBox3.Text;
a.Password = textBox4.Text;
SqlConnection b = new SqlConnection();
b.ConnectionString = a.ConnectionString;
b.Open();
SqlCommand c = new SqlCommand();
c.CommandText = "select [ID+Sudent] from student";
c.Connection = b;
SqlDataReader f = c.ExecuteReader();
while (f.Read())
comboBox1.Items.Add(f[0]);
SqlConnection opendis = new SqlConnection();
opendis.ConnectionString = a.ConnectionString;
opendis.Open();
SqlCommand q = new SqlCommand();
q.CommandText = "select [ID+Predmet] from Predmet";
q.Connection = opendis;
SqlDataReader z = q.ExecuteReader();
while (z.Read())
comboBox2.Items.Add(z[0]);
Код кнопки выполнить имеет следующий вид:
SqlConnectionStringBuilder c = new SqlConnectionStringBuilder();
c.DataSource = "MICROSOF-11515F";
c.InitialCatalog = "Jurnal";
c.IntegratedSecurity = true;
c.UserID = "MICROSOF-11515F\\Администратор";
c.Password = "";
SqlConnection openprop = new SqlConnection();
openprop.ConnectionString = c.ConnectionString;
openprop.Open();
SqlCommand w = new SqlCommand();
SqlCommand v = new SqlCommand();
SqlCommand n = new SqlCommand();
w.CommandText = "select [N] from [student] where [ID+Sudent]='" + comboBox1.Text + "'";
w.Connection = openprop;
SqlDataReader x = w.ExecuteReader();
x.Read();
string ff = x[0].ToString();
x.Close();
n.CommandText = "select [N] from [Predmet] where [ID+Predmet]='" + comboBox2.Text + "'";
n.Connection = openprop;
SqlDataReader p = n.ExecuteReader();
p.Read();
string i = p[0].ToString();
p.Close();
v.CommandText = "select [ID+Data],[ID+Propusk] from Propusk where [ID+Student]='" + ff + "'" + "and [ID+Predmet]='" + i + "'"
v.Connection = openprop;
x = v.ExecuteReader();
while (x.Read())
richTextBox1.Text += x[0].ToString() + x[1].ToString() + "\n";
Результат выполнения клиентского приложения представлен на рисунке 7.
Рисунок 7 - результат выполнения клиентского приложения.
Список использованных источников
1. Голицына, О.Л. База данных: Учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. - М.: ФОРУМ: ИНФРА-М, 2003. - 352 с.: ил.
2. Базы данных: Учебник для высших учебных заведений / Под. Ред. Проф. А. Д. Хомоненко. - 4-е изд. доп. и перераб. - СПб.: КОРОНА принт, 2004. - 736 с.
3. Дейт, К. Введение в системы базы данных, 6-е издание: Пер. с англ. - К.: М.: СПб.: Издательский дом «Вильямс», 1999. - 848 с.: ил.
4. Реляционная СУБД [Электронный ресурс]. - Электрон. дан.- Режим доступа: http://ru.wikipedia.org/wiki/Реляционная_СУБД
5. Microsoft SQL Server 2005[Электронный ресурс]. - Электрон. дан.- Режим доступа: http://www.citforum.ru/database/mssql/overview/#1.1
6. Microsoft SQL Server 2005. Библия пользователя. : Пер. с англ. - М. ООО «И.Д. Вильямс», 2008.-1232 с.: ил.
7. Обзор Microsoft SQL Server[Электронный ресурс]. - Электрон. дан.- Режим доступа: http://ru.wikipedia.org/wiki/ Microsoft SQL Server
Подобные документы
Рaзрaботка бaзы дaнных в Microsoft SQL Server 2005 для aвтомaтизaции процессa контроля прокaтa видеофильмов: перечень сущностей и атрибутов, выбор ключей, содержимое тaблиц, составление запросов к базе данных, триггеров и клиентского приложения.
курсовая работа [940,3 K], добавлен 21.06.2011Разработка реляционной базы данных "Библиотека" с помощью СУБД Microsoft SQL Server 2000 и программной оболочки в Microsoft Access. Экономическое обоснование результатов внедрения программного продукта. Инструкция по эксплуатации клиентского приложения.
курсовая работа [3,4 M], добавлен 01.07.2011Создание реляционной базы данных "Деканат ВУЗа", средствами СУБД MS SQL Server 2000. Разработка клиентского приложения с удобным пользовательским интерфейсом (сопровождающегося меню и справочной системой). Описание связей между таблицами базы данных.
курсовая работа [3,0 M], добавлен 06.12.2014Разработка приложения, позволяющего автоматизировать документооборот предприятия по списанию основных средств. Мероприятия по защите и обеспечению целостности базы данных. Разработка клиентского приложения. Запросы к базе данных, руководство пользователя.
курсовая работа [700,0 K], добавлен 14.01.2015Базы данных и системы управления базами данных. Физическое размещение и сортировка записей. Основные виды баз данных. Создание базы данных "Домашняя библиотека" в приложении Microsoft Access. Создание в базе данных запросов и скорость выбора информации.
курсовая работа [3,2 M], добавлен 07.05.2013Освоение сервисной системы управления базами данных Microsoft SQL. Разработка базы данных "Служба АТС" в среде Microsoft SQL Server Management Studio и создание запросов на языке SQL. Апробация инфологической модели "сущность - связь" базы данных.
курсовая работа [2,9 M], добавлен 29.06.2015Основные понятия баз данных: нормализация, связи и ключи. Создание и этапы проектирования базы данных, решение задачи о предметной области. Изучение СУБД Microsoft Access s 2003: пользовательский интерфейс, главное окно приложения, создание таблиц.
реферат [2,1 M], добавлен 10.11.2010Понятия основных компонентов базы данных Access. Таблицы, отчеты, макросы и модули, форма, запросы к базе и их виды. Типы данных. Создание базы данных "Кадры". Создание таблицы в режиме конструктора. Использование мастера подстановок для создания связей.
курсовая работа [818,0 K], добавлен 10.03.2016Цель инфологического моделирования базы данных. Создание с помощью СУБД Microsoft SQL Server шести сущностей с определенными атрибутами, представлений, основанных на соединении столбцов нескольких таблиц и связей между ними. Создание процедур и запросов.
курсовая работа [721,4 K], добавлен 29.11.2009Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010