I. Создание и тестирование запросов.

ИНСТРУКЦИОННО-ТЕХНОЛОГИЧЕСКАЯ КАРТА

на выполнение практической работы №2.

 

По дисциплине: Базы данных.

 

Специальность: 230103«Автоматизированные системы обработки информации и управления (по отраслям)».

 

Тема: Создание таблиц. Управление записями: добавление, редактирование, удаление и навигация.

 

Наименование работы: Создание таблиц и ввод исходных данных.

Цель:

- Научиться создавать таблицы и вносить в них информацию.

Приобретаемые умения: умение определять структуру таблиц и заполнять их данными.

Норма времени: 2 часа.

 

Используемые средства: ручка, тетрадь.

 

Вопросы для повторения:

1. Какими способами можно создать таблицу?

2. Какие правила нужно соблюдать при заполнении таблиц?

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

1. Организационный этап.

2. Практическая работа по плану.

3. Подведение итогов.

 

Способ выполнения работы: фронтальный.

 

Содержание и форма отчета: письменная форма, объяснение идеи решения заданий.

 

Вывод согласно цели: В результате практической работы №2 студенты получили навыки работы по созданию таблиц.

 

Домашнее задание: Повторить основные теоретические вопросы.

 

Литература:

1. Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных: учебное пособие. – М.: ФОРУМ: ИНФРА-М, 2003. – 352 с.: ил. – (Серия «Профессиональное образование»).

2. Агальцов В.П. – М.: Мир, 2002. – 376 с., ил. + компакт-диск с примерами.

 


Практические задания.

Задание 1.

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

В карточке на книгу должны быть отражены следующие сведения:

  • Автор(ы)
  • Название
  • Год издания
  • Объем в страницах
  • Дата поступления
  • Комментарий

Замечание. Для простоты будем считать нескольких авторов одной книги как одного автора.

Методические указания:

I. Создание рабочих папок (каталогов).

Создать в папке C:\Мои документы\А-31 вашего компьютера папку с именем Books. Эта папка будет использоваться для хранения файлов базы данных.

II. Создание таблицы для хранения данных

1) Для создания таблицы БД используйте утилиту Database Desktop (поставляемую вместе с Delphi). Эта программа предназначена для разработчика и позволяет создавать и модифицировать структуры таблиц, а также вставлять, изменять и удалять записи.

Установите рабочий каталог C:\ Мои документы\А-31\Books, с которым DBD работает по умолчанию, используя команду меню File | Working Directory в окне DBD. Создайте таблицу c помощью команды меню File | New | Table. В окне определения структуры каждая строка соответствует атрибуту (полю).

Пояснения:
Fields Name – имя атрибута;

Type – тип атрибута;

Size – размер поля для строковых полей (поскольку размер иных полей определяется типом);

Key – содержит *, если атрибут входит в состав первичного ключа. Если первичный ключ составной, имеет значение последовательность, в которой атрибуты объявлялись. Кроме того, все атрибуты первичного ключа должны быть в списке полей первыми.

Определите все поля отношения в соответствии со следующей таблицей:

Назнач. атрибута Имя атрибута Тип данных Размер Ключ
Номер книги BookNumb Short   *
Автор(ы) Authors Аlpha  
Название BookName Аlpha  
Год издания YearPub Short    
Объем в страницах VolPages Short    
Дата поступления DatePost Date    
Комментарий Comment Аlpha  

Замечание:всем атрибутам назначим свойство Required – требование обязательного существования непустого значения на момент запоминания кортежа в БД – кроме атрибута Комментарий" (книга может быть нами неоткомментированной).

Сохраните описание структуры отношения (Save As),
дав ему имя CatalogBooks

III. Определение индексов

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

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

Для этого, находясь в окне модификации структуры таблицы, в списке Table Properties выберите элемент Secondary Indexes, затем, щелкнув по кнопке Define, укажите атрибут(ы), входящий(е) в индекс. И наконец, щелкнув по кнопке ОК укажите имя индекса (AuthInd, BookInd) (не рекомендуется составлять имя индекса только из названия полей, поскольку такой способ используется при автоматическом создании ссылочной целостности). В данном случае процедуру Define нужно проделать два раза, создав два индекса, в каждый из которых входит один атрибут (Authors, BookName). Сохраните изменения структуры таблицы.

Примечание:Ничто не запрещает (кроме соображений экономии памяти) включить в каждый из индексов и оба атрибута – в этом случае мы получим при просмотре дополнительную сортировку. Добавим, что порядок следования атрибутов при создании индекса имеет большое значение .

IV. Заполнение таблицы БД и просмотр данных.

1. В окне DBD вызовите команду Table/Edit Data для перехода в режим ввода и редактирования данных.

2. Введите данные в таблицу:

BookNumb Authors BookName YearPub VolPages DatePost Comment
Пушкин А.С. Дубровский 30.06.1970  
Лермонтов М.Ю. Мцыри 01.02.1978  
Толстой Л.Н. Воскресение 20.01.1971  
Драйзер Т. Финансист 15.07.1989  
Толстой А.Н. Петр Первый 01.11.1977  
Чейз Д.Х. Казино 10.06.2001 Серия PocketBook
Драйзер Т. Титан 12.08.1987 Букинистическое издание
Драйзер Т. Стоик 20.07.1992  
Чейз Д.Х. Двойная сдача 15.07.2001 Серия PocketBook
Чейз Д.Х. Снайпер 15.07.2001 Серия PocketBook
Воронин А. Олигарх 03.05.2003  
Хейли А. Перегрузка 15.04.2003  

Задание 2.

В ходе выполнения настоящего задания требуется создать запросы на выборку из базы данных «Библиотечка» (задание 1), с помощью которых получить следующую информацию:

1. Вывести список книг одного автора (Драйзер Т.) и отсортировать результаты по году издания в порядке убывания.

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

3. Вывести список книг изданных с 1975 по 2000 год включительно, с сортировкой по автору и дате поступления.

4. Вывести список, включающий авторов и названия книг, авторы которых входят в заданный список (Драйзер Т., Хейли А., Чейз Д.Х.), с сортировкой результатов по автору, используя оператор IN (проверка на принадлежность к множеству).

5. Сформулировать эквивалентный запрос, используя логическую операцию OR.

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

7. Показать количество книг каждого автора, которое имеется в библиотеке, используя группировку и статистическую функцию COUNT.

8. Выполнить тот же запрос, что и в п.7, при дополнительном условии, что для каждого из выбранных авторов имеется не менее 2 книг. При этом использовать условие отбора для групп (предложение HAVING).

9. Отобразить данные о книгах (автор, название, год издания, количество страниц), поступивших в библиотеку в 2001 году, используя функцию EXTRACT.

10. Показать данные о книгах библиотеки (автор, название, год издания, количество страниц) и сколько прошло лет между изданием книги и ее поступлением в библиотеку. Для этого включить в запрос вычисляемое поле DELAY (задержка). Отсортировать результаты по этому полю.

Методические указания:

I. Создание и тестирование запросов.

1. Запустите SQL Explorer с помощью ярлыка.

2. Создайте новую базу данных Object\New.дать имя базе данных «Библиотека».

3. Установить путь к таблицам базы данных (Path).

4. Далее через контекстное меню выбрать команду Apply и сохранить.

5. На вкладке Enter SQL составьте на языке SQL текст запроса, соответствующего п. 1 задания (см. выше) и введите его в окне для ввода запроса. Запустите запрос на выполнение, используя кнопку на панели инструментов в окне SQL Explorer. Если SQL Explorer выдает сообщения о синтаксических ошибках (т.е. о нарушениях правил языка SQL в тексте запроса), то проанализируйте текст запроса и исправьте ошибки. Если запрос успешно выполнен, то закройте результаты и сохраните текст запроса как файл с расширением .sql (например BksDr.sql) в рабочем каталоге. Для этого Edit\Select All, далее вызвать контекстное меню и выбрать команду Save to file, указать путь и имя запрса.

6. Повторите указанные действия для каждого из пп. 2-10 задания.