Создание соединение с базой данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Создание соединение с базой данных



При создании клиент - серверного приложения необходимо создать подключение к базе данных клиентского приложения. В среде Visual Studio подключение к базе данных можно организовать следующими способами:

1 способ. Создание подключения к базе данных Access в обозревателе серверов.

Чтобы создать подключение в обозревателе серверов

1. В обозревателе серверов (Server explorer) щелкните правой кнопкой мыши Подключения данных (Data Connection) и выберите команду Добавить подключение (Add connection).

 

Рисунок 2. 3 – Контекстное меню создания подключения

 

2. В появившемся окне выберите Microsoft Access Database File. Нажмите ОК.

3. В следующем окне нажмите кнопку Browse для выбора базы данных, к которой необходимо подключиться.

4. Если необходимо введите Имя пользователя, используемый для проверки подлинности при входе в источник данных и введите Пароль, используемый для проверки подлинности при входе в источник данных.

5. Нажмите кнопку OK.

После выполнения выше изложенных шагов, перетащите из обозревателя серверов на поле формы или конструктора объект BindingSource.

 

Рисунок 2.4- Контекстное меню добавления в форму объекта BindingSource

В нижней части формы появится соответствующий значок, щелкните правой кнопкой мыши по данному значку, выберите строку Properties. В открывшемся окне щелкните в строке DataSource.

 

Рисунок 2.5 - Контекстное меню добавления источника данных

 

В открывшемся окне выберите Add Project data Source.

Рисунок 2.6 – Диалоговое окно подключения к базе данных

 

Затем выберите Database нажмите Next, укажите в строке путь к используемой базе данных, обычно он записан по умолчанию и нажмите Next.

Далее необходимо выбрать объекты базы данных, которые войдут в объект DataSet.

Рисунок 2.7 - Диалоговое окно выбора таблиц подключаемой базы данных

И нажмите Finish.

В Visual Studio существует объект Connection. Объект Connection служит для соединения с базой данных, нуждается в строке соединения для указания пути к СУБД и входа в систему. Свойства класса Connection показаны в таблице. OleDbConnection, SqlConnection, OdbcConnection – наследники класса Connection, специфические для провайдеров OleDb, MS SQL, ODBC соответственно. Все свойства, кроме ConnectionString, только для чтения.

Таблица 2.2- Свойства объекта Connection

Свойство Описание
DataSource Путь к базе данных в файловой системе при использовании Oledb, имя экземпляра базы сервера при использовании SqlConnection
Database Возвращает имя базы данных, используемой в объекте Connection после открытия
State Возвращает текущее состояние соединения. Возможные значения – Broken – «Соединение с источником данных разорвано», значение 16 Closed – «Соединение закрыто», значение 0 Connecting – «Идет процесс подключения», значение 2 Executing – «Соединение находится в процессе выполнения команды 4, Fetching – «Объект соединения занят выборкой данных» значение 8 Open – «Соединение открыто» значение 1.
ConnectionString Строка соединения с СУБД

 

2 способ. Создание подключения программно. Для этого перейдите в программный код формы Form1.cs. На панели Solution Explorer щелкните правой клавишей на Form1.cs, выберите View Code.

Рисунок 2. 8- Контекстное меню открытия программного кода формы

Для подключение к базе данных Access необходимо добавить пространство имен

using System.Data.OleDb;

Затем в классе формы объявить строковую переменную, содержащую информацию о провайдере и пути к базе данных в нашем примере D:\Institut.mdb.

namespace primer_soedineniya

{

public partial class Form1: Form

{

string InstConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + @"D:\Institut.mdb";

OleDbConnection con;

public Form1()

{

InitializeComponent();

con = new OleDbConnection(InstConnectString);

con.Open(); // открываем соединение

}}}

Использование форм для ввода

И редактирования данных

Форма позволяет объединить поля в группы по определенным признакам. Это облегчает восприятие информации.

Для создания формы в MS Access на начальном этапе необходимо выполнить следующие действия:

1. Открыть окно БД.

2. Перейти на вкладку Формы.

3. Нажать кнопку Создать. Выбрать нужный вариант. Ок.

Можно воспользоваться мастером форм и проделать следующие операции:

1. Открыть окно БД.

2. В окне перейти на вкладку «Таблицы».

3. Указать на таблицу, для которой создается экранная форма.

4. Выполнить команду Вставка|Автоформа или нажать кнопку Новый объект и из списка выбрать опцию Автоформа. На экране появится готовая форма.

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

– Размещение текста.

– Размещение полей.

– Создание управляющих кнопок.

– Размещение линий, прямоугольников и рисунков.

– Установка цвета объектов формы.

– Перемещение объектов формы.

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

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

– Для группировки элементов управления используйте линии и прямоугольники. При этом пользователь будет вводить близкие по смыслу данные (такие, как вся идентификационная информация по товару или полный домашний адрес) вместе.

– Не концентрируйте элементы управления в какой-либо части формы. Это затрудняет чтение информации. Пользователь должен наглядно видеть, с каким элементом управления он работает в данное время.

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

– Используйте маски ввода для ввода стандартизированной информации. Например, если вам известно точное количество символов, необходимых для ввода номера телефона, используйте маску ввода.

– Для облегчения восприятия чисел используйте форматы ввода.

Настройка формы. Для создания формы войдите в окно конструктора форм. Для этого, находясь на вкладке «Формы» БД нажмите кнопку Создать и в открывшемся окне диалога «Новая форма» нажмите кнопку ОК. На экране откроется окно конструктора форм.

Первое, что нужно сделать – определить свойства самой формы как объекта. Каждая форма имеет свойства, определяющие расположение ее в основном окне MS Access, размер, заголовок, стиль и некоторые другие параметры.

1. Для определения или изменения стиля формы, находясь в конструкторе форм, выполните команду Формат|Автоформат или нажмите кнопку Автоформат на панели инструментов. На экране откроется окно диалога «Автоформат». Выберите из списка стили и посмотрите на их внешний вид в окне просмотра. После того, как вы нашли нужный стиль, нажмите кнопку ОК.

2. Для задания размеров формы используйте мышь.

3. Установите указатель мыши в нижний правый угол формы.

4. При этом курсор примет вид двунаправленной стрелки.

5. Нажмите кнопку мыши и установите требуемый размер формы.

6. Для использования формы только для просмотра, установите для свойства Разрешить изменение значение Нет. Данная установка не позволит пользователю редактировать содержимое элементов управления, связанных с таблицей или запросом.

7. Если установить для свойства Разрешить добавление значение Нет, то становятся недоступными команды Вставка | Запись, Записи | Ввод данных и Правка | Удалить запись.

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

1. Выберите инструмент Надпись на панели элементов. Если данная панель отсутствует на экране, для ее отображения выполните команду Вид |Панели инструментов и в списке панелей инструментов установите опцию Панель элементов или нажмите кнопку Панель элементов на панели инструментов.

2. Установите указатель мыши на место предполагаемого расположения текстового объекта и введите текст.

3. Закончив ввод текста, нажмите клавишу Enter.

4. Выделите созданный объект.

5. Используя панель инструментов «Форматирование» или окно свойств созданного объекта, задайте для него тип шрифта, размер, цвет шрифта, цвет рамки, тип и цвет фона, и другие параметры оформления. Все свойства вы можете определить в окне свойств. Некоторые, наиболее часто используемые, можно задавать и с помощью панели «Форматирование»

Размещение полей ввода. Следующим шагом в создании формы является добавление в нее полей различных типов. Наиболее простым типом поля является поле ввода. Для размещения поля ввода в форме выполните следующие действия:

1. Выберите инструмент Поле на панели элементов.

2. Нажмите мышью место, в котором вы предполагаете разместить поле. В форме появится связанный объект, состоящий из поля ввода и его надписи. Выделите поле ввода и откройте для него окно свойств.

3. Чтобы связать созданное поле с полем таблицы или запроса выберите свойство Данные вкладки «Данные». В поле ввода свойства воспользуйтесь кнопкой раскрытия списка и выберите из списка всех полей открытой таблицы поле, которое хотите добавить в форму. Если вы хотите связать поле с выражением, нажмите кнопку Построить. Создайте необходимую формулу с помощью построителя выражений.

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

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

6. Свойство Всплывающая подсказка вкладки «Другие» позволяет создать краткое пояснение к полю, которое будет появляться на экране, когда указатель установлен на поле и удерживается на нем некоторое время.

7. Для определения значения поля по умолчанию задайте свойство Значение по умолчанию.

8. Выделите надпись к полю ввода и откройте для него окно свойств.

9. Чтобы задать текст надписи, выберите свойство Подпись вкладки «Макет» и в поле ввода свойства введите текст надписи к полю.

10. Используя панель инструментов «Форматирование» или окно свойств, задайте для надписи тип шрифта, размер, цвет шрифта, цвет рамки, тип, цвет фона и другие параметры.

Скрытие поля. Используя окно свойств поля, вы можете сделать поле невидимым (и поле ввода и надпись к нему), так что его не будет видно в режиме просмотра формы. Аналогичная возможность существует в режиме просмотра таблиц, в котором для скрытия столбца таблицы используется команда Формат|Скрыть столбцы. В форме для скрытия поля и надписи к нему необходимо для свойства Вывод на экран вкладки «Макет» поля задать значение Нет.

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

Вы можете изменить сообщение в форме с помощью свойства Текст строки состояния вкладки «Другие». Для этого откройте окно свойств поля и введите в поле ввода данного свойства текст, который будет появляться в строке состояния.

Изменение формата отображения дат и чисел. Для задания формата отображения дат и/или чисел в форме используется свойство Формат поля вкладки «Макет».

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

Элементы панели элементов Список и Поле со списком предназначены для отображения на экране элементов списка. Выбор одного из этих двух типов объектов определяется требованиями пользователя и наличием свободного места в форме.

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

– Список фиксированных значений.

– Список полей.

– Значения поля таблицы или запроса.

Тип источника данных определяется свойством Тип источника на вкладке «Данные».

Объекты типа списка и поля со списком имеют дополнительные свойства, которые отсутствовали у ранее рассмотренных объектов Надпись и Поле.

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

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

Рассмотрим последовательность ваших действий при создании флажка для редактирования поля, которое имеет тип Логический.

1. Откройте форму в режиме конструктора и выберите инструмент Флажок на панели элементов.

2. Нажмите мышью место предполагаемого размещения элемента в форме.

3. Откройте окно свойств размещенного в форме флажка.

4. Чтобы связать созданное поле с полем таблицы, выберите свойство Данные вкладки «Данные». В поле ввода значения свойства воспользуйтесь кнопкой раскрытия списка и выберите поле из списка полей таблицы.

5. Выделите надпись созданного флажка и в его окне свойств скорректируйте свойство Подпись вкладки «Макет». Просмотрите форму в режиме формы.

Для создания объектов логического типа используются элементы Переключатель и Выключатель панели элементов, соответственно.

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

В MS Access предусмотрено создание более 30 разных кнопок, что избавляет пользователя от необходимости самостоятельно разрабатывать макросы. Достаточно лишь воспользоваться мастером по созданию кнопки. Так для создания кнопки, открывающей другую форму нужно выполнить следующие действия:

1. Установите режим использования мастера на панели элементов и выберите инструмент Кнопка на панели элементов.

2. Установите указатель мыши на место в форме, в котором вы предполагаете расположить кнопку и нажмите кнопку мыши. Запускается мастер создания кнопки конструктора форм.

3. В первом окне диалога расположены два списка: Категории и Действия. При перемещении по списку Категории список Действия обновляется. Рассмотрите внимательно содержимое этих списков. Список Категории содержит наборов действий, а список Действия — действия, которые будут выполняться при нажатии на данную кнопку. Выберите нужное значение из списка Действия и нажмите кнопку Далее.

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

5. На следующем шаге определяется тип отображаемой информации на кнопке: текстовая или графическая. Если вы выбрали текстовую информацию, то в поле ввода рядом с опцией Текст введите текст, отображаемый на кнопке. При размещении графической информации установите опцию Рисунок и нажмите кнопку Обзор для открытия окна диалога «Выбор рисунка», в котором выберите графическое изображение. После чего переходите к следующему шагу.

6. На заключительном шаге работы мастера задается имя создаваемого объекта Введите имя, затем нажмите кнопку Готово. Кнопка, при нажатии на которую открывается другая экранная форма, создана.

Добавление рисунка или другого объекта в форму. Способ вставки рисунка или объекта зависит от того, какой объект предполагается создать: присоединенный или свободный. Присоединенный объект хранится в таблице. При переходе к новой записи в форме или отчете отображается другой объект. Например, этот способ удобен для хранения фотографий сотрудников фирмы. Свободный объект является частью структуры формы. При переходе к новой записи объект не изменяется. Например, таким способом в форме или отчете сохраняют эмблему фирмы, созданную в приложении MS Paint.

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

Размещение объекта типа OLE. Примером использования данного типа объектов является расположение в форме поля Фотография таблицы Сотрудники. В данном поле таблицы хранятся фотографии всех сотрудников фирмы. Для присоединенного объекта в форме выполните следующие действия:

1. Для добавления графического поля типа OLE в форму выберите инструмент Присоединенная рамка объекта на панели элементов.

2. Нажмите мышью место, где вы хотите добавить поле. Удерживая кнопку мыши в нажатом состоянии, переместите указатель по диагонали так, чтобы получилась рамка требуемого размера.

3. Откройте окно свойств созданного объекта.

4. Чтобы связать созданное поле с полем таблицы, выберите свойство Данные. В поле ввода свойства воспользуйтесь кнопкой раскрытия списка и из списка полей открытой таблицы Сотрудники выберите поле типа OLE Фотография.

5. Просмотрите форму в режиме формы. Если рисунок не помещается в рамке целиком, вернитесь в режим конструктора и увеличьте размер поля.

Использование линий и прямоугольников. Линии и прямоугольники в экранной форме применяются дня улучшения внешнего вида формы и восприятия информации, а также для объединения объектов в логические группы. Для добавления в экранную форму линий используется инструмент Линия панели элементов. Чтобы нарисовать вертикальную или горизонтальную линию на экране выберите данный инструмент, нажмите мышью то место, где должна начинаться линия, и переместите указатель до получения линии нужной длины. Настройка параметров линии осуществляется с помощью ее свойств.

Для добавления в экранную форму прямоугольников используется инструмент Прямоугольник панели элементов. Чтобы нарисовать прямоугольник выберите данный инструмент, нажмите мышью место расположения одного из углов прямоугольника, и переместите указатель до получения прямоугольника нужного размера.

Для создания формы в Visual Studio, например следующего вида:

Рисунок 2. 9 – Окно создаваемой формы

1) Необходимо перейти в дизайнер формы Form1.cs [Design].

2) Добавить с панели инструментов ToolBox объект TabControl и расположить его на форме.

3) В окне свойств (Properties) перейдите на строчку TabPages нажмите на . В окне tabPagesCollection Editor нажмите на кнопку ADD для добавления вкладок, измените свойства Name и Text. Для вкладки Данные

Name = tabData, Text = Данные, на второй вкладке Студенты Name = tubStud, Text = Студенты, на третьей вкладке Name = tubExam, Text = Экзамены, на четвертой вкладке Name = tubPrep, Text = Преподаватели.

Рисунок 2. 10 – Диалоговое окно мастера создания вкладок

 

На вкладке Данные добавьте следующие объекты с панели инструментов, изменив их свойства: Этот объект используется для представления выводимых данных из таблицы

Name datGrid

 

Объект ComboBox

Name cmbTable

 

Выберите свойство Items (Collection) и введите следующие пункты списка:

 

Рисунок 2. 11 – Диалоговое окно создания пунктов меню

 

Добавьте кнопку (Button): Name= butLoad, Text = «Загрузить данные».

Затем перейдите на вкладку Студенты и добавьте следующие объекты с панели инструментов, изменив их свойства:

Name datGridStud

На вкладку Экзамены добавьте две кнопки:

Кнопка Добавить запись

Name butInsExam
Text Добавить запись

Кнопка Загрузить данные

Name butUpdExam
Text Загрузить данные

 

Реализуем следующие функции приложения:

1. Выбрав пункт меню и нажав кнопку Загрузить данные, в объекте dataGridView отображаются данные выбранной таблицы.

Дважды щелкните по кнопке «Загрузить данные» и в обработчике введите следующий код. А также добавьте объявление переменной OleDbDataAdapter datAdapTable;

перед public Form1().

 

2. Возможность отображения в объекте datGridStud не всех данных из таблицы Студенты, а только №зачетки, фамилии, имени и группы. Измените программный код следующим образом:

Таким образом, для отображения выборочных данных в клиентском приложении необходимо:

1. Создать соединение.

OleDbConnection con = new OleDbConnection(InstConnectString);

2. Открыть соединение.

3. Создать объект DataTable для помещения в него данных таблицы Студенты.

4. Создать адаптер данных, так как база данных создана в Access, используется OleDBProvider, поэтому OleDbDataAdapter. Указать какие данные поместить в адаптер, например как в данном случае в виде SQL –запроса и указать соединение.

5. Создать схему представления данных с помощью объектов DataColumn.

6. Заполнить объект Stud данными из адаптера DA.

7. Указать объекту dataGridView источник данных для отображения, в данном случае это объект DataTable Stud.

Реализация запросов

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

Языки запросов важны и с точки зрения приложений СУБД, например, в АРМ. Объяснение этому достаточно естественно. Разработанные АРМ имеют, как правило, четко определенное меню, т.е. отработанные формы запросов, оформленные в систему выбора (да/нет). Поэтому необходимо применять языки запросов для реализации диалога в командах, что требует квалификации программиста. Языки запросов снимают и эту проблему, но порождаются две других.

Во-первых, для формулировки запросов необходимо знать язык запросов. Если в QBE этому обучиться достаточно просто, благодаря развитому экранному представлению примера запроса в среде WINDIWS и QBE, то в SQL, представляющий своеобразный язык, требуется определенная подготовка, может быть даже сравнимая с изучением языка одной из СУБД.

Во-вторых, и QBE, и SQL требует дополнительных ресурсов от ЭВМ, что не всегда реально в медленно обновляющемся парке ЭВМ. И, наконец, еще одно замечание о включении языков запросов QBE и SQL в уже действующие APМы или СУБД. А, следует ли включать такие мощные средства из-за 10-20 нестандартных запросов, поступающих, например, в течение полгода обслуживания СУБД или АРМов. Может сложиться ситуация, что разработчик сформулирует вывод: «Язык запросов необходимо включить в АРМ, но ни оперативной, ни дисковой памяти не хватит». В этом случае, надеясь, что разработчик знает систему команд СУБД, он может сам написать транслятор для языка запросов, основанного на элементах реляционной алгебры.

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

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

Рассмотрим наиболее простые типы запросов.

Обычный запрос. А(Е) =? Каково значение атрибута А объекта Е (в понятие атрибут входит имя атрибута и значения поля (столбца) в реляционном отношение. Объектом называем строку (запись) в отношении. Аналогичное можно распространить на плоский файл. Пример. Определить заработок у доцента института. Здесь значение атрибута А - заработок, объект - доцент. Доцент в свою очередь является значением атрибута должность (доцент, профессор, старший преподаватель, преподаватель, ассистент).

Инвертированный запрос. А(?)= V. Какой объект Е имеет значение атрибута А, равное V. Пример. Какие должности преподавательского состава имеют заработок, (=) равный V.

Атрибутный запрос. ?(Е)=V (<=, =, ≠, >=). Какой атрибут объекта Е имеет значение V. Пример. Найти имя атрибута имеющего значение 10000р. должности доцента.

Запрос на поиск информации для заданного объекта.? (Е) =?(<=, =, ≠, >=) Выбрать всю информацию атрибута и их значение для объекта Е. Пример. Выдать все атрибуты и их значения известных для профессии «доцент».

Запрос на поиск значений заданного атрибута для всех объектов. А(?) =? Для заданного атрибута А найти все значения для всех объектов. Выдать величину зарплаты для всех должностей.

Запрос на поиск всех объектов и всех атрибутов, имеющих значение.?(?) =V (<=, =, ≠, >=). Найти все объекты и все атрибуты, для которых задано значение V. Пример. Найти все атрибуты и все объекты, для которых значение неизвестного атрибута равно 100000р.

Сложный запрос на одном отношении. Запрос основывается на перечисленных типах, усложнением структуры запроса, логическими операндами «или» = «or», «и» = «AND» и вычислительными операциями. Пример. Перечислить кафедры, на которых работают и доценты, и профессора. Перечислить кафедры, на которых имеется должность с окладом условно 10000 р. и 15000р. Перечислить фамилии работающих на кафедре «Физика» в должности доцента.

Сложный запрос на 2-х и больше отношениях. Запрос требует обработки двух и более отношений. Может иметь логические операнды и вычислительные операции и требовать дополнительных операций над отношениями: проекция, выбор, объединение, соединение и т.д., что более подробно рассмотрено ниже.

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

– имена отношений (имена файлов);

– имена атрибутов (имена полей);

– значения атрибутов (значения полей);

– правила формирования условий (<=, =, ≠, >=);

– правила логических операций (AND, OR);

– правила реляционной алгебры для отношений.

Последнее правило является базовым для формирования сложных структур запросов, особенно для запросов на обработку нескольких отношений (файлов). Следует отметить, что все реляционные СУБД, как правило, в одном файле содержат одно отношение. SQL в одном файле содержит несколько отношений, точнее все, которые обрабатываются в запросе.

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

Рассмотрим способы реализации запросов в Access.

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

Для создания простейших запросов можно использовать мастер запросов.

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

Окно конструктора запросов. Для вызова конструктора запросов перейдите в окне базы данных на вкладку «Запросы» и нажмите кнопку Создать. В окне диалога «Новый запрос» выберите опцию Конструктор и нажмите кнопку ОК. Access предложит вам выбрать таблицу или запрос, на основе которых будет осуществляться выборка. На этом этапе выбор таблицы или запроса не обязателен (вы можете добавить их и позже), но очевидно, что запрос должен выполняться, по крайней мере, на основе какой-либо таблицы или ранее созданного запроса. Выберите таблицу, нажмите кнопку Добавить и закройте окно диалога. На экране появится окно конструктора запросов, а в основном меню – команда Запрос.

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

Меню Запрос содержит команды добавления таблиц в окно конструктора запросов и удаления их из нее, команды выбора типа запросов (Выборка, Создание таблицы, Перекрестный, Обновление, Добавление, Удаление), команду запуска запроса и управления запросом (Переключатель режимов, Групповые операции, Добавление Имени таблицы, Свойства). В верхней части окна конструктора запросов находится схема данных запроса. Эта схема очень сильно напоминает схему данных базы данных. В отличие от нее, данная схема содержит список таблиц, включенных в запрос, и отображает связи между ними. В нижней части окна располагается бланк запроса. Каждая строка этого бланка выполняет определенную функцию:

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

Имя таблицы. Эта строка показывает вам, из какой таблицы (или запроса) выбрано данное поле.

Сортировка. В этой строке вы указываете тип сортировки информации, возвращаемой в запросе, по возрастанию (от А до Я, от большего к меньшему, от более раннего к более позднему и т.д.) или по убыванию (от Я к А и т.д.).

Вывод на экран. Если вы хотите, чтобы MS Access показывал информацию, найденную в поле, пометьте эту ячейку, чтобы установить флажок просмотра поля. Если же поле используется только для задания условия выбора данных, которые возвращает ваш запрос, оставьте его пустым.

Условие отбора. В этой строке (и в строке, расположенной ниже ее) вы вводите ограничения поиска, задавая определенные условия, которые принято называть критерием поиска.

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

1) В окне базы данных перейдите на вкладку «Запросы» и нажмите кнопку Создать.

2) Откроется окно диалога «Добавление таблицы», в котором выберите нужную таблицу и нажмите кнопку Добавить. Закройте окно диалога.

3) На экране открывается окно конструктора запросов, схема данных которого содержит всего одну таблицу, а бланк запроса пуст.

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

В MS Access существует два варианта выбора полей результирующей таблицы. Вы можете воспользоваться наиболее приемлемым способом с вашей точки зрения:

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

2. В MS Access широко используется механизм перенести-и-оставить (drag-and-drop). Для использования этого механизма при выборе полей перейдите в таблицу в схеме данных, из которой вам надо выбрать поля. Выделите поля, которые вы собираетесь отобразить в запросе, нажмите кнопку мыши и, не отпуская ее, перенесите выбранные поля в бланк запроса.

Для выделения группы полей используется мышь совместно с клавишами Shift и Ctrl. Для выбора отдельно расположенных полей вместо клавиши Shift используйте клавишу Ctrl. В некоторых случаях необходимо выбрать все поля исходной таблицы. Для этого в MS Access существуют два способа, первый из которых состоит в выборе всех полей таблицы двойным нажатием мыши на строке заголовка и переносе выделенных полей в бланк запроса.



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 241; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.158.148 (0.126 с.)