Практическая работа 4 Тема: Создание многотабличной БД в среде Borland Delphi 7 или Borland C++Builder 6.0.

  • docx
  • 25.05.2021
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала ПР_продолжение БД student 4 Zachet.docx

Практическая работа 4

 

Тема: Создание многотабличной БД в среде Borland Delphi 7 или Borland C++Builder 6.0.

Цель: приобрести навыки работы с многотабличной базой данных.

 

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

 

I.                   Установка индексов для связывания таблиц

 

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

1.       «один-к-одному» – только одной записи родительской таблицы соответствует одна запись дочерней таблицы;

2.       «один-ко-многим» – только одной записи родительской таблицы соответствует одна или более записей дочерней таблицы;

3.       «много-ко-многим» – одной записи родительской таблицы соответствует одна или более записей дочерней таблицы, и наоборот.

Допускается, что в родительской таблице могут находиться записи, которые не связаны с дочерней таблицей (в дочерней таблице отсутствуют записи для связи с родительской). Кроме того, в настоящее время связь «много-к-одному» потеряла актуальность, хотя в некоторых СУБД направление связи имеет большое значение для обработки данных и их просмотра.

Рассмотрим две таблицы из базы данных СЕССИЯ: student.db и ozenka.db, которые связаны отношением 1:М. Данное отношение объясняется тем, что у каждого студента за время учебы должно быть большое количество оценок по различным зачетам и экзаменам.

Таблица ozenka.db представлена в Приложении.

            Таблица student.db создана на предыдущих практических занятиях.

     

Для связи таблиц воспользуемся следующим рисунком (рис. 1).

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1 - Описание индексов таблиц СТУДЕНТ и ОЦЕНКА

 

I.                   Дополнительные действия с  таблицей student.db

 

1. Загрузить в среде Borland C++Builder 6.0 Database Desktop (клавиша Пуск– Все программы – C++Builder 6.0 - Database Desktop).

     2. Открыть таблицу student.db и перейти в структуру таблицы (команды File - OpenTable - student.db - Restructure).

     3. В столбце Key поля Nomer нажать пробел для установки в нем звездочки (первичный ключ, если она отсутствует).

             4. В поле Table properties окна выбрать пункт Secondary Indexes (рис. 2а).

             5. Через кнопку <Define> открыть окно Define Secondary Index (рис.2а).

             6. Кнопкой «Стрелка вправо» перевести в правый список поле Nomer; установить опцию «Unique» для первичного индекса (рис. 2а).

             7. После нажатия кнопки <Ok> в открывшемся окне сохранить индекс под именем nmrS (рис.2б), ответив Да.

             8. Сохранив все изменения в структуре таблицы, выйти из структуры таблицы (Save).

В случае, если индекс не устанавливается, необходимо проверить значения в поле, по которому создается индекс; возможно, что в этом поле существуют повторяющиеся значения, а этого не должно быть!

 

Примечание.

По умолчанию данные в поле индекса сортируются по возрастанию (Ascending); при необходимости изменения направления сортировки используется флажок Descending.

 

 

            

а)

              

            

б)

Рисунок 2 – Создание уникального индекса таблицы student.db

              

II.                Создание таблицы ozenka.db

1.      Загрузить в среде Borland C++Builder 6.0 Database Desktop (клавиша Пуск– Все программы – C++Builder 6.0 - Database Desktop).

2.      Для создания таблицы ozenka.db (Приложение), необходимо выполнить следующие действия:

2.1  Выполнить команду File / New / Table.

2.2  В появившемся окне выбрать таблицу типа Paradox 7.0. Нажать <Ok>.

2.3 В новом окне необходимо ввести названия поля (Field Name), типы полей (Type) и размеры полей (Size) в символах.

Через контекстное меню можно открыть список типов данных и выбрать необходимый тип или ввести букву или символ, закрепленный по умолчанию за тем или иным типом данных (рис. 3). Переход на новую строку – клавиши управления курсором.

2.4         Установить для поля Nomer флажок Required Field, это означает, что данное поле в активном состоянии не должно быть пустым (рис.3, поле выделено красным цветом).

2.5         В столбце Key поля Nomer нажать пробел для установки в нем звездочки (первичный ключ, рис.3, поле выделено синим цветом).

 

                                                         Рисунок 3 – Окно таблицы ozenka.db

                 

2.6 Для поля Ocenka установить значения: минимальное, максимальное и по умолчанию (рис. 4).

Рисунок 4 – Параметры поля Ocenka

 

2.7 Таким же образом установить значения для поля Zachet: минимальное, максимальное и по умолчанию (рис. 5).

 

 

            Рисунок 5Параметры поля Zachet

 

2.8 Сохранить структуру таблицы ozenka.db, используя кнопку <Save As…>, выбрав алиас student.db и указав имя таблицы ocenka.db (обратите внимание на сохранение таблицы в папке Project).

Заполнить таблицу данными из Приложения (Таблица) и сохранить ее.

2.9              Не выходя из Database Desktop, пиктограммой <Restructure> войти в структуру таблицы ozenka.db.

2.10       В поле Table properties окна выбрать пункт Secondary Indexes (рис. 6а).

2.11       Через кнопку <Define> перейти в окно создания индекса (рис.6а).

2.12       Кнопкой «Стрелка вправо» перевести в правый список поле Nomer (рис. 6а).

2.13       После нажатия кнопки <Ok> в открывшемся окне сохранить индекс под именем nmrО (вторичный - не уникальный индекс рис. 6б).

 

 

            а)                                                                    б)

 

Рисунок 6 – Создание вторичного индекса таблицы ozenka.db

 

2.14          Выйти из структуры таблицы ozenka.db, сохранив все изменения, используя кнопку <Save As…> (рис.7).

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 7 – Окно запроса на подтверждение

 

Примечание

 

Для работы с индексами используются следующие кнопки:

<Define> – для создания нового индекса;

<Modify> – для модификации уже существующего индекса; <Erase> – для удаления выделенного индекса.

                                                                                                                                           

                                                                                                                                            Приложение

 

Описание базы данных «СЕССИЯ»

 

Структура базы данных «Сессия»

 


                                                                                                  

 

                        Таблица

Nomer

Kod_predm

Dat_ekz

Ozenka

Zachet

100

1

18.12.2020

4

1

101

2

20.12.2020

5

1

102

3

23.12.2020

3

0

103

4

26.12.2020

5

1

104

5

29.12.2020

4

1

 


 

Скачано с www.znanio.ru