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

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

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

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

Добавлен: 25.10.2023

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

Скачиваний: 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

открыть текущий объект для работы; создать новый объект текущего типа; изменить текущий объект (конструктор).

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


Для запуска MS Access выберите иконку в меню программ MS Windows. Чтобы начать разработку новой базы данных, следует в меню Файлвыбрать команду Создать после чего выбрать пункт Новая база данных и присвоить имя новой БД. Затем возможно создание объ- ектов БД «вручную» либо с помощью Мастера, который автоматиче- ски генерирует объект в диалоге с пользователем. Независимо от спо- соба создания объекта режим конструктора позволяет в любой момент изменить его структуру и свойства.
Созданиеструктурытаблиц

В СУБД MS Access отношение БД называют таблицей, кортежи отношения – записями, атрибуты – полями.

Для создания структуры таблицы в окне База данных необходимо выбрать пункт Таблица и нажать кнопку Создать. В результате откро- ется диалоговое окно Создание таблицы, в котором следует выбрать режим Новая таблица. Создание структуры таблицы необходимо про- изводить в режиме конструктора таблиц.

В результате выполнения указанных действий Access выводит на экран окно пустой таблицы в режиме конструктора (Рисунок 2).


Рисунок 2 Новая таблица в режиме конструктора

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

Обязательными свойствами каждого поля являются имя, тип и размер. Имя поля задается в столбце Поле по тем же правилам, что имена других объектов. Во втором в столбце Тип данных открывается список возможных типов данных. Требуемое значение типа данных можно либо выбрать из списка, либо ввести непосредственно с клавиа- туры, не прибегая к помощи списка. Тип данных определяет, какого вида данные будут храниться в поле – текст, числа, даты и т.д. Важно правильно определить тип поля до того, как начнется ввод данных, в противном случае при изменении типа данные могут быть искажены или утеряны. Ниже приведены типы данных, используемых в СУБД MS Access:


  • текстовый (до 255 символов);

  • числовой с разной степенью точности;

  • дата / время;

  • примечания (MEMO) - до 64000 символов;

  • счетчик (для служебных полей, типа КодТовара и т.п.);

  • денежный;

  • логический (да / нет);

  • гиперссылка

  • OLE (для хранения данных, сформированных другими при- кладными программами - рисунков, схем, звукозаписей, фор- матированных текстов и т.п.).

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

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

Описание форматов для различных типов данных представлено в таблице 1.

Таблица 1 Описание форматов данных

Наименование_формата'>Наименование формата

Описание

Для типов данных: Числовой, Денежный

стандартный формат

устанавливается по умолчанию (разделители и знаки валют отсутствуют)

Денежный

символы валют и два знака после запятой

Евро

Используется денежный формат с символом евро (€) вне зависимости от символа денежной единицы

Фиксированный

выводится, по крайней мере, один разряд

сразделителями разрядов

два знака после запятой и разделители тысяч

Процентный

процент

Экспоненциальный

экспоненциальный формат (например 3.46 * 10

3)

Для типа данных Дата/Время существует следующий набор форматов поля:

длинный формат

Среда, 29 января 2003 г.

средний формат

29 янв 03





Наименование формата

Описание

краткийформат

29.01.03

длинныйформатвремени

10:30:10 РМ

среднийформатвремени

10:30 РМ

краткийформатвремени

15:30

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

Число десятичных знаков – для числового и денежного типов данных задает число знаков, выводимых после запятой. По умолчании устанавливается значение Авто, при котором для форматов денежный, фиксированный, с разделителем разрядов и процентный выводятся два десятичных знака после запятой. Для формата стандартный, чис- ло выводимых знаков определяется текущей точностью числовых зна- чений. Можно задать фиксированное число десятичных знаков от 0 до 15.

Маска ввода – для текстового, числового, денежного типов дан- ных, а так же для типов Дата/Время задается маска ввода, которую пользователь увидит при вводе данных в это поле (например, раздели- тели (_._.) для поля типа Дата).

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

  • в качестве ключа чаще всего выбирают числовой или сим- вольный код, который используется только для внутренних целей БД и не доступен для изменения пользователем;

  • тип ключевого поля «счетчик» или «числовой».

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

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


Связимеждутаблицами

Связи между таблицами являются необходимым элементом структуры БД. После определения нескольких таблиц необходимо

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

Для определения связей в БД необходимо в меню Сервисвыбрать

пункт Схема данных, либо нажать кнопку на панели управления В результате откроется диалоговое окно Схема данных, а затем – диа- логовое окно Добавление таблицы, в котором следует выбрать соеди- няемые таблицы.

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

Для установления непосредственной связи между двумя выбран- ными таблицами следует перенести с помощью мыши ключевое поле одной таблицы в другую. В результате откроется диалоговое окно Свя- зи (Рисунок 3).



Рисунок 3 Окно изменения связей между таблицами

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



Рисунок 4 Определение связей между таблицами

В СУБД MS Access допускаются следующие типы связей:

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

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

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

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

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

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