Файл: Методическое пособие к выполнению самостоятельной и лабораторных работ и курсового проекта по дисциплине Организация баз данных для студентов направления подготовки бакалавров.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 249

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Лабораторная работа № 1 «Построение структуры базы данных»

Лабораторная работа № 2 «Создание запросов с помощью построителя запросов в среде MS Access»

Лабораторная работа № 3 «Работа с формами»

Лабораторная работа № 4 «Работа с отчетами»

Лабораторная работа № 5 «Создание SQL- запросов» Тема:СозданиеSQL-запросов.Разделдисциплины:Реляционныеязыки.Цель работы: создать SQL-запросы на создание таблицы, на выборку с параметрами, на обновление записей, на удаление записей, на добавление данных, на удаление таблицы, на создание индексов.Основы SQL Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при созда- нии запросов, а также для обновления и управления реляционными БД.В среде MS Access, когда пользователь создает запрос в режиме конструктора запроса (с помощью построителя запросов), MS Access автоматически создает эквивалентную инструкцию SQL. Фактически, для большинства свойств запроса, доступных в окне свойств в режиме конструктора, имеются эквивалентные предложения или параметры языка SQL, доступные в режиме SQL. При необходимости, пользова- тель имеет возможность просматривать и редактировать инструкции SQL в режиме SQL. После внесения изменений в запрос в режиме SQL его вид в режиме конструктора может измениться.Некоторые запросы, которые называют запросами SQL, невоз- можно создать в бланке запроса. Для запросов к серверу, управляю- щих запросов и запросов на объединение необходимо создавать ин- струкции SQL непосредственно в окно запроса в режиме SQL. Для подчиненного запроса пользователь должен ввести инструкцию SQL в строку Поле или Условие отбора в бланке запроса.Синтаксиса написания SQL-предложений: в описании команд слова, написанные прописными латински- ми буквами, являются зарезервированными словами SQL; фрагменты SQL-предложений, заключенные в фигурные скоб- ки и разделенные символом «», являются альтернативными. При формировании соответствующей команды для конкретного случая необходимо выбрать одну из них; фрагмент описываемого SQL-предложения, заключенный в квадратные скобки [ ], имеет необязательный характер и может не ис- пользоваться; многоточие …, стоящее перед закрывающейся скобкой, говорит о том, что фрагмент, указанный в этих скобках, может быть повторен; Описание команд SQL Выборка записей Инструкция SELECT. При выполнении инструкции SELECT СУБД находит указанную таблицу или таблицы, извлекает заданные столбцы, выделяет строки, соответствующие условию отбора, и сорти- рует или группирует результирующие строки в указанном порядке в виде набора записей.Синтаксис команды:SELECT [предикат] { * | таблица.* | [таблица.]поле_1[AS псевдоним_2] [, [таблица.]поле_2[AS псевдоним_2] [, ...]]} FROM выражение [, ...][WHERE... ][GROUP BY... ][HAVING... ][ORDER BY... ]где предикат — один из следующих предикатов отбора: ALL, DISTINCT, DISTINCTROW, TOP. Данные ключевые слова использу- ются для ограничения числа возвращаемых записей. Если они отсут- ствуют, по умолчанию используется предикат ALL;* указывает, что результирующий набор записей будет содержать все поля заданной таблицы или таблиц. Следующая инструкция отби- рает все поля из таблицы «Студенты»: SELECT * FROM Студенты;таблица — имя таблицы, из которой выбираются записи;поле_1, поле_2 — имена полей, из которых должны быть отобра- ны данные;псевдоним_1, псевдоним_2 — ассоциации, которые станут заго- ловками столбцов вместо исходных названий полей в таблице;выражение — имена одной или нескольких таблиц, которые со- держат необходимые для отбора записи;предложение GROUP BY в SQL-предложении объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит статистическую функцию SQL, например Sum или Count, то для каждой записи будет вычислено ито- говое значение;предложение HAVING определяет, какие сгруппированные запи- си, выданные в результате выполнения запроса, отображаются при использовании инструкции SELECT с предложением GROUP BY. По- сле того как записи результирующего набора будут сгруппированы с помощью предложения GROUP BY, предложение HAVING отберет теиз них, которые удовлетворяют условиям отбора, указанным в пред- ложении HAVING;предложение ORDER BY позволяет отсортировать записи, полу- ченные в результате запроса, в порядке возрастания или убыванияна основе значений указанного поля или полей.Следует отметить, что инструкции SELECT не изменяют данные в базе данных. Приведем минимальный синтаксис инструкции SELECT: SELECT поля FROM таблица.Если несколько таблиц, включенных в предложение FROM, со- держат одноименные поля, перед именем такого поля следует ввести имя таблицы и оператор « . » (точка). Предположим, что поле «Но- мер_группы» содержится в таблицах «Студенты» и «Группы». Следу- ющая инструкция SQL отберет поле «Номер_группы» и«ФИО_студента» из таблицы «Студенты» и «ФИО_куратора» из таб- лицы «Группы» при номере группы, равном 432-1:SELECT Группы.Номер_группы, Группы.ФИО_куратора, Сту- денты.ФИО_студентаFROM Группы, СтудентыWHERE Группы.Номер_группы = Студенты.Номер_группы AND На рисунке 17 приведен пример выполнения данного запроса.Таблицы БД СТУДЕНТЫ

Лабораторная работа № 6 «Создание концепту- альной модели данных в среде Power Designer»

Лабораторная работа № 7 «Генерация физической модели в среде Power Designer и структуры базы данных в СУБД MS Access»

Указания к выполнению курсового проекта

Самостоятельная работа

Рекомендуемая литература

Приложение 1

Приложение 2



Отчеты базируются на таблицах, между которыми установле- ны связи в окне Схема данных. При создании отчетов на основе запро- са или запросов синхронизация отчета с подчиненным отчетом выпол-

няется автоматически, если связи установлены для базовых таблиц запроса или запросов. Если связи базовых таблиц установлены кор- ректно, Microsoft Access выполнит синхронизацию главного и подчи- ненного отчетов автоматически.

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

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

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


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

Для создания отчета в окне базы данных выберите вкладку «От- четы» и нажмите кнопку «Создание отчета с помощью мастера».

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

В следующем окне (Рисунок 15) установите уровни группировки данных (если необходимо). Нажмите кнопку «Далее».



Рисунок 15 Мастер отчетов, окно группировки

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

Для изменения макета отчета откройте его в режиме конструкто- ра (Рисунок 16).




Рисунок 16 Отчет, открытый в режиме конструктора

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

Для изменения внешнего вида одного элемента управления, например надписи, выделите его, после чего на панели инструментов Форматирование вы-

берите другой шрифт, размер шрифта или другие параметры.

Для изменения формата отображения данных в элементе управ- ления, например в поле, убедитесь, что данный элемент выделен и

нажмите кнопку Свойства на панели инструментов для вывода окна свойств.

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

Создайте заголовок и примечание отчета, куда добавьте надпись, содержащую Ваши ФИО и № группы. Чтобы создать надпись, нажми- те кнопку Надпись на панели элементов. Затем выберите в отчете

место, куда ее следует поместить, введите нужный текст и нажмите

клавишу Enter.

Поменяйте порядок сортировки и группировки данных в отчете,

для этого нажмите кнопку Сортировка и группировка на панели инструментов для вывода диалогового окна (Рисунок 17).

Рисунок 17 – Окно сортировки и группировки данных Добавьте новые поля для группировки и сортировки, создайте за-

головки

и примечание групп.

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

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

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

При создании подчиненного отчета с помощью мастера или пу- тем переноса с помощью мыши отчета или таблицы в другой отчет, MS Access автоматически выполняет синхронизацию главного и под- чиненного отчета в следующих случаях:

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

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

При связывании главного и подчиненного отчетов Microsoft Access использует свойства Основные поля (LinkMasterFields) и Под- чиненные поля (LinkChildFields) элемента управления «Подчиненная форма/отчет». Если по каким-либо причинам Microsoft Access не свя- зывает главный и подчиненный отчет автоматически, пользователь имеет возможность задать значения этих свойств самостоятельно.

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



Лабораторная работа 5 «Создание SQL- запросов»


Тема:СозданиеSQL-запросов.

Разделдисциплины:Реляционныеязыки.

Цель работы: создать SQL-запросы на создание таблицы, на выборку с параметрами, на обновление записей, на удаление записей, на добавление данных, на удаление таблицы, на создание индексов.

Основы SQL


Запрос SQL — это запрос, создаваемый при помощи инструкций SQL. Язык SQL (Structured Query Language) используется при созда- нии запросов, а также для обновления и управления реляционными БД.

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

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

Синтаксиса написания SQL-предложений:

  • в описании команд слова, написанные прописными латински- ми буквами, являются зарезервированными словами SQL;

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

  • фрагмент описываемого SQL-предложения, заключенный в квадратные скобки [ ], имеет необязательный характер и может не ис- пользоваться;

  • многоточие …, стоящее перед закрывающейся скобкой, говорит о том, что фрагмент, указанный в этих скобках, может быть повторен;

Описание команд SQL

Выборка записей


Инструкция SELECT. При выполнении инструкции SELECT СУБД находит указанную таблицу или таблицы, извлекает заданные столбцы, выделяет строки, соответствующие условию отбора, и сорти- рует или группирует результирующие строки в указанном порядке в виде набора записей.

Синтаксис команды:

SELECT [предикат] { * | таблица.* | [таблица.]поле_1

[AS псевдоним_2] [, [таблица.]поле_2[AS псевдоним_2] [, ...]]} FROM выражение [, ...]

[WHERE... ]

[GROUP BY... ]

[HAVING... ]

[ORDER BY... ]

где предикат — один из следующих предикатов отбора: ALL, DISTINCT, DISTINCTROW, TOP. Данные ключевые слова использу- ются для ограничения числа возвращаемых записей. Если они отсут- ствуют, по умолчанию используется предикат ALL;

* указывает, что результирующий набор записей будет содержать все поля заданной таблицы или таблиц. Следующая инструкция отби- рает все поля из таблицы «Студенты»: SELECT * FROM Студенты;

таблица имя таблицы, из которой выбираются записи;

поле_1, поле_2 — имена полей, из которых должны быть отобра- ны данные;

псевдоним_1, псевдоним_2 — ассоциации, которые станут заго- ловками столбцов вместо исходных названий полей в таблице;

выражение — имена одной или нескольких таблиц, которые со- держат необходимые для отбора записи;

предложение GROUP BY в SQL-предложении объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит статистическую функцию SQL, например Sum или Count, то для каждой записи будет вычислено ито- говое значение;

предложение HAVING определяет, какие сгруппированные запи- си, выданные в результате выполнения запроса, отображаются при использовании инструкции SELECT с предложением GROUP BY. По- сле того как записи результирующего набора будут сгруппированы с помощью предложения GROUP BY, предложение HAVING отберет те

из них, которые удовлетворяют условиям отбора, указанным в пред- ложении HAVING;

предложение ORDER BY позволяет отсортировать записи, полу- ченные в результате запроса, в порядке возрастания или убывания

на основе значений указанного поля или полей.

Следует отметить, что инструкции SELECT не изменяют данные в базе данных. Приведем минимальный синтаксис инструкции SELECT: SELECT поля FROM таблица.

Если несколько таблиц, включенных в предложение FROM, со- держат одноименные поля, перед именем такого поля следует ввести имя таблицы и оператор « . » (точка). Предположим, что поле «Но- мер_группы» содержится в таблицах «Студенты» и «Группы». Следу- ющая инструкция SQL отберет поле «Номер_группы» и

«ФИО_студента» из таблицы «Студенты» и «ФИО_куратора» из таб- лицы «Группы» при номере группы, равном 432-1:

SELECT Группы.Номер_группы, Группы.ФИО_куратора, Сту- денты.ФИО_студента

FROM Группы, Студенты

WHERE Группы.Номер_группы = Студенты.Номер_группы AND На рисунке 17 приведен пример выполнения данного запроса.

Таблицы БД СТУДЕНТЫ

Номер_зачет- ной книжки

ФИО_студента

Дата рождения

Место рождения

Но- мер_группы

1992412-11

Карасев А.А.

27.08.75

г. Чита

412-1

1992432-11

Данилов О. В.

27.08.75

г. Алматы

432-1

1992432-12

Раевский А. И.

20.05.75

г. Бишкек

432-1

1992432-22

Глазов О.А

04.07.75

г. Киров

432-1