Скачать 1.24 Mb.
|
Министерство образования и науки Республики Казахстан Павлодарский государственный университет им. С. Торайгырова Факультет физики, математики и информационных технологий Методические указания к лабораторным работам по дисциплине «Системы базы данных» Для специальности 050703 «Информационные системы» Павлодар
УТВЕРЖДАЮ Декан факультета ФМ иИТ _____________ Тлеукенов С.К. «__»_________2008г. Составитель: старший преподаватель Аканова А.С. Кафедра информатики и информационных систем Методические указания к лабораторным работам по дисциплине Системы базы данных для специальности 050703 «Информационные системы» форма обучения: дневная на базе общего среднего. Методические указания к лабораторным работам разработан на основании рабочей программы дисциплины Рекомендована на заседании кафедры от «__» ____________200 протокол №__ Зав. кафедрой __________________________Ж.К. Нурбекова (подпись, Ф.И.О.) Одобрено методическим советом факультета ФМиИТ «______»____________200__г., протокол № ___________________ Председатель МС___________________ А.З.Даутова (подпись) ^ Проектирование базы данных и редактирование данных Пример 1. Создание базы данных «Телефонная книжка» и ее индексирование Рассмотрим задачу создания БД на примере простой электронной телефонной книжки. Для каждого человека записывается его фамилия, имя, отчество, дата рождения, пол, домашний и рабочий телефоны. Для хранения информации о человеке будем использовать таблицу с именем People.
В этой таблице было искусственно добавлено поле IDPeople, которое является ключом. Если бы один человек имел один телефон, можно было бы обойтись одной таблицей People, добавив к ее полям поле Tel. Но человек может иметь несколько телефонов, причем как домашних, так и рабочих. Если использовать одну таблицу, информация о человеке должна повторяться столько же раз, сколько у него номеров телефонов. Это вносит весьма большую избыточность, а кроме того, может повлечь за собой много ошибок при вводе однообразной информации. Поэтому для хранения информации о телефоне используется отдельная таблица с именем Tel, которая связана с таблицей People.
IDPeople - поле, которое используется для установления взаимосвязи с полем типа счетчика в другой таблице, должно иметь тип длинного целого и быть индексированным. Таким образом, структура БД «Телефонная книжка» состоит из двух связанных таблиц People и Tel. Таблица People является основной, а взаимосвязь устанавливается с помощью полей IDPeople в этих таблицах. Приступим непосредственно к созданию нашей БД: 1. Запустите программу DataBase Desktop 7.0. Задайте команду меню File|New|Table. В результате появится окно Create Table со значением в списке форматов таблицы Paradox 7.0. Так как создавать таблицы будем в формате Paradox 7, нажмите кнопку ОК в этом окне. В результате появится окно Create Paradox 7 Table (Untitled), в котором будет определяться структура таблицы. Вначале создайте таблицу People. 2. Задайте поля таблицы 2.1. Введите в первой записи описания структуры, в столбце Field Name, значение IDPeople и нажмите клавишу Тab для перехода к следующему столбцу. 2.2. Далее в столбце Type нажмите клавишу пробела и выберите из списка значение +(Autoincrement), затем нажмите клавишу Tab для перехода к следующему столбцу. 2.3. В следующем столбце Key нажмите клавишу пробела для указания, что данное поле ключевое (в столбце Key появится звездочка). 2.4. Включите с помощью мыши выключатель Required field (Обязательное поле), а затем выберите мышью поле Key в последней записи и нажмите клавишу Tab для перехода к следующей строке, описывающей новое поле таблицы БД. Остальные поля таблицы задайте аналогичным образом, выбирая при этом соответствующий тип; только для полей Family, Name, SecName и Notes в столбце Size укажите соответствующий размер, а выключатель Required field включите только для полей Family и Sex. Следует отметить, что все оставшиеся поля не будут ключевыми, а следовательно и поле Key для них не будет активным. Для поля Birthday установите параметр Picture (Шаблон) следующим образом. Для удобства ввода и проверки шаблона воспользуемся окном, которое вызывается при нажатии кнопки Assist (Помощник). Здесь в строке Picture (Шаблон) вводится текст шаблона, правильность которого можно проверить кнопкой Verify Sintax (Проверка синтаксиса), а в строку Sample Value (Пример значения) вводится значение для проверки соответствия введенному шаблону. Тест осуществляется кнопкой Test Value (Проверка значения), после нажатия которой можно увидеть результат проверки в виде сообщения в рамке сообщений. Выберите шаблон #[#]:#[#]:#[#] {AM,PM};, #[#]/#[#]/#[#] - время, дата - из выпадающего списка Sample Picture (Примеры шаблонов) и нажмите кнопку Use. Теперь в строке ввода Picture в появившемся шаблоне удалите все, кроме #[#]/#[#]/#[#], т. к. нам нужна только дата. Нажмите кнопку ОК. 3. Сохраните таблицу под именем People.db на диске при помощи кнопки Save As, далее вам нужно будет активизировать выключатель Display Table (Показать таблицу) из группы Options для того, чтобы после сохранения новая таблица была отображена на экране для работы с данными в ней. 4. Открытая таблица позволяет лишь просматривать данные. Выберите команду меню Table|Edit Data или нажмите клавишу ^ . Теперь введите несколько записей и запишите таблицу. Перемещаться по полям можно с помощью мыши, клавиш стрелок и клавиши Tab. 5. Создайте теперь таблицу Tel. Для этого выполните действия аналогичные действиям, которые выполнялись при создании таблицы People, вводя соответствующие таблице Tel поля, за одним лишь исключением – здесь необходимо создать вторичный индекс по полю IDPeople, который создается следующим образом: 5.1. Выберите в выпадающем списке Table Properties свойство Secondary Indexes. 5.2. Нажмите появившуюся кнопку Define. 5.3. В окне Define Secondary Index в списке Field выберите значение IDPeople, затем нажмите кнопку со стрелкой вправо рядом со списком, после чего нажмите кнопку ОК. 5.4. В появившемся окне Save Index As введите в строку ввода IDPeopleIndex и нажмите кнопку ОК. 6. Сохраните таблицу под именем Tel.db. 7. Установите взаимосвязь между таблицами. 7.1. Задайте в качестве рабочей папки ту папку, в которой вы сохраняли создаваемые таблицы БД «Телефонная книжка». Для этого выполните команду главного меню File|Working Directory и в появившемся диалоговом окне выберите требуемую папку. 7.2. Откройте таблицу Tel.db. 7.4. Задайте команду Table|Restructure, в результате появится окно, аналогичное окну определения структуры таблицы. 7.5. Выберите в выпадающем списке Table Properties свойство Referential Integrity. 7.6. Нажмите появившуюся кнопку Define. 7.7. В окне «Referential Integrity» из списка Field выберите значение IDPeople[I], затем нажмите кнопку со стрелкой вправо рядом со списком. 7.8. В списке Table выберите значение People, затем нажмите кнопку со стрелкой влево рядом со списком. В центре окна будет схематично изображена взаимосвязь таблиц. Нажмите кнопку ОК в окне «Referential Integrity». 7.10. В окне «Save Referential Integrity As» в строку введите имя соединения PeoplesTel, а затем нажмите кнопку ОК. В результате в списке, находящемся в правой части окна определения структуры таблицы, появится введенное имя. 7.11. В окне определения структуры таблицы нажмите кнопку Save. 8. Введите в таблицу несколько записей, используя команду меню Table|Edit Data. 9. Задайте команду главного меню File|Close для закрытия таблицы Tel.db. Пример 2. Редактирование содержимого таблиц БД «Телефонная книжка» 1. Откройте файл People.db. 2. Выберите из меню команды Table опцию Edit Data. Теперь данные можно редактировать. 3. Активизируйте любую запись в таблице и откорректируйте или измените ее. 4. Откорректируйте подобным образом несколько записей. 5. Вставьте запись при помощи клавиш Insert или через меню команды Record|Insert. Вставка записи производится после активизированной в данный момент записи. 6. Удалите любую запись. Для этого активизируйте ее и нажмите комбинацию клавиш Ctrl+Del или Record|Delete. Но для того чтобы произошло физическое удаление из файла таблицы БД всех отмеченных на удаление записей, необходимо активизировать выключатель Pack Table (Упаковка таблицы) при сохранении файла с таблицей. Для этого войдите в Table|Restructure, откроется окно «Restructure Paradox 7.0 for Windows Table: People.db». Здесь и активизируйте этот выключатель и нажмите кнопку Save (Сохранить). 7. Потренируйтесь в осуществлении навигации по записям таблицы с помощью кнопок панели быстрого доступа с изображением различных стрелок или с помощью команд меню Record, или же с помощью различных комбинаций клавиш, которые указаны в меню Record. 8. Для таблицы БД Tel.db проделайте то же самое. Обратите внимание на то, что при таком методе введения данных и их редактирования могут очень часто возникать ошибки, вызванные взаимосвязанностью полей двух таблиц. Поэтому чаще всего данные вводятся и редактируются посредством созданной экранной формы. Преимущества этого метода вы узнаете при выполнении второй лабораторной работы. Сортировка Сортировка - это физическое упорядочивание файла. Это отличает сортировку от индексирования БД, которое при неизменности файла позволяет предъявлять записи и перемещаться по нему в желаемом порядке. Необходимость в сортировке может возникнуть, например, если требуется произвести упорядочивание по какому-то полю или нескольким полям. При сортировке всегда создается файл такого же размера, как и исходная таблица, в котором содержатся упорядоченные записи. Пример 3. Сортировка содержимого таблицы People БД “Телефонная книжка” 1. Выберите команду Tools|Utilities|Sort. 2. В открывшемся диалоговом окне «Select Table» (Выбор таблицы) выберите файл, который будете сортировать, в данном случае это - People.db. Нажмите кнопку Open, в результате чего откроется окно «Sort Table:...People.db». 3. В данном окне в группе Sorted Table (Отсортированная таблица) активизирован переключатель New Table (Новая таблица). Сюда введем имя файла, в котором вы сохраните результат сортировки, People-s. |