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 задания.