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

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

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

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

Добавлен: 25.10.2023

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

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

> 22;

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

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

В каждом аргументе «Запрос» допускается использование пред- ложения GROUP BY или HAVING для группировки возвращаемых данных. В конец последнего аргумента «Запрос» можно включить предложение ORDER BY, чтобы отсортировать возвращенные данные.

Основные различия Microsoft Jet SQL и ANSI SQL


Рассмотрим различия двух диалектов языка SQL Microsoft Jet SQL и ANSI SQL, описанные в руководстве разработчика приложений баз данных на СУБД Microsoft Access:

  • языки SQL-ядра базы данных Microsoft Jet и ANSI SQL имеют разные наборы зарезервированных слов и типов данных;

  • разные правила применимы к оператору Between...And, имею- щему следующий синтаксис: выражение [NOT] Between значение_1 And значение_2. В языке SQL Microsoft Jet значение_1 может превы- шать значение_2; в ANSI SQL, значение_1 должно быть меньше или равно значение_2;

  • разные подстановочные знаки используются с оператором Like. Так, в языке SQL Microsoft Jet любой одиночный символ изображается знаком «?», а в ANSI SQL знаком «_», любое число символов в языке

SQL Microsoft Jet изображается знаком «*», а в ANSI SQL знаком

«%»;

  • язык SQL-ядра Microsoft Jet обычно предоставляет пользовате- лю большую свободу. Например, разрешается группировка и сорти- ровка по выражениям.

Особые средства языка SQL Microsoft Jet


В языке SQL Microsoft Jet поддерживаются следующие дополни- тельные средства:

  • инструкция TRANSFORM, предназначенная для создания пере- крестных запросов;

  • дополнительные статистические функции, такие как StDev и VarP;

  • описание PARAMETERS, предназначенное для создания запро- сов с параметрами.

Средства ANSI SQL, не поддерживаемые в языке SQL Microsoft Jet


В языке SQL Microsoft Jet не поддерживаются следующие сред- ства ANSI SQL:


  • инструкции, управляющие защитой, такие как COMMIT, GRANT и LOCK;

  • зарезервированное слово DISTINCT в качестве описания аргу- мента статистической функции (например, нельзя использовать выра- жение SUM(DISTINCT имя Столбца);

  • предложение LIMIT TO nn ROWS, используемое для ограниче- ния количества строк, возвращаемых в результате выполнения запро- са. Для ограничения количества возвращаемых запросом строк можно использовать только предложение WHERE.

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


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

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

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

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

  1. Используя команду SELECT, создайте запрос на выборку записей из двух (или более) таблиц, используя правила внешнего и внут- реннего соединения, а также различные условия отбора и сорти- ровки.

  2. Используя команду UPDATE, создайте запрос на обновление дан- ных в созданных ранее таблицах.

  3. Используя команду INSERT INTO, создайте запросы на добавле- ние группы записей и одной записи в существующую таблицу.

  4. Используя команду CREATE INDEX, создайте запрос на создание нового индекса, используя различные условия на значения индек- сов (IGNORE NULL, DISSALLOW NULL, PRIMARY), а также ти-

пы сортировки.

  1. Используя команду DROP, создайте запросы на удаление таблицы и индекса, созданных ранее в БД.

  2. Сохраните все созданные запросы в базе данных.





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


Тема: Создание концептуальной модели данных в среде автома- тизированного проектирования.

Разделдисциплины:МоделированиеданныхспомощьюER- диаграмм.

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

Продолжительность:8часов.

Сущности и атрибуты


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

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

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

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

Связи

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

Различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. При установлении идентифицирующей связи атрибуты первичного ключа родительской сущности переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности атрибу- ты помечаются как внешний ключ (FK).

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

Имя связи – фраза, характеризующая отношение между родитель- ской и дочерней сущностями. Для связи один-ко-многим идентифици- рующей или не идентифицирующей достаточно указать имя, характе- ризующее отношение от родительской к дочерней сущности.

Тип связи (идентифицирующая/неидентифицирующая). Для не- идентифицирующей связи можно указать обязательность. В случае обязательной связи атрибут внешнего ключа получит признак NOT NULL, несмотря на то, что внешний ключ не войдет в состав первич- ного ключа дочерней сущности. В случае необязательной связи внеш- ний ключ может принимать значение NULL. Необязательная неиден- тифицирующая связь помечается прозрачным ромбиком со стороны родительской сущности.

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

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

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


Для запуска пакета Power Designer в меню программы (Windows) найдите папку Sybase и запустите