↑ вверх

Помощь дистанционщикам!
ДО СибГУТИ (www.do.sibsutis.ru),
ДО СибАГС (www.sapanet.ru),
ДО НГУЭиУ (sdo.nsuem.ru),
ДО СибУПК (sdo.sibupk.su) и др ВУЗы

Этот сайт продаётся. По всем вопросам обращаться по +7 913 923-45-34 (Денис)
Корзина пуста!
Обратная связь




Лаб работа 04

25000
      
Просмотров: 775
Тип работы: Лабораторная работа
Название предмета: Основы визуального программирования
Тема/вариант: Вариант 01 Лаба 04
Объем работы: 10
ВУЗ: СибГУТИ
Дата выполнения: 2013-08-19
Размер файла, тип файла: 1024.41 Kb, , ICO, DB, PX, X02, Y02, CFG, DOF, DPR, EXE, RES, ~DPR, DCU, DDP, DFM, PAS, ~DDP, ~DFM, ~PAS, XG0, XG1, YG0, YG1, DOC
Прикрепленные файлы: Задание на контрольную работу по курсу “Основы системного программирования” (3027 Kb)

Лабораторная работа №4_БД

Тема: Базы данных

ЗАДАНИЕ 1

1.    Создание таблиц.
Создайте таблицы: Faculty (Название факультета, Курс, Количество групп на курсе ),
                         Group (Название группы, Фамилия старосты, Количество студентов в группе),
                         Stud (ФИО, Домашний адрес, Телефон).
Таблица Faculty

Filed name    Type    Size    Key                   
F_Num    +        *                   
F_Name    A    5                       
F_Kurs    I                           
F_KolGrp    I                           

Таблица Group                                                        Таблица Stud

Filed name    Type    Size    Key        Filed name    Type    Size    Key
G_Num    +        *        St_Num    +        *
F_Num    I                G_Num    I       
G_Name    A    10            St_FIO    A    50   
G_Prefect    A    20            St_HomeAdr    A    80   
G_KolStd    I                St_HomeTel    A    15   


- При выполнении команды Save as… создайте новый каталог для хранения Приложения, а внутри – еще один каталог  (н-р, Base) для хранения базы (в нем и сохраняйте таблицы).
- При необходимости видеть таблицу сразу после сохранения включите опцию Display table.
-    Для удобства работы установите рабочую дирректорию: Working Directory.

2.    Построение внешних ключей

1)    Постройте внешние ключи так, чтобы
-    в таблице Group отображались только записи с группами текущего факультета таблицы Faculty;
-    в таблице Stud отображались только записи со студентами текущей группы таблицы Group.
Для построения внешнего ключа таблицы Stud:
Открыть таблицу Stud. Выбрать пункт меню Table|Restructure, в свойствах таблицы выбрать пункт Referential Integrity|  - Define, выбрать главную таблицу (справа) и ключ (слева) для организации связи главный-подчиненный между таблицами Group и Stud,  Ok.
Аналогично постройте внешний ключ таблицы Group для связи с таблицей Faculty

2)    Посмотрите значения свойства Secondary Indexes у таблиц Group и Stud (Table | Info Restructure…). После построения внешнего ключа система автоматически индексирует (создает вторичный индекс) поле, по которому построен ключ.

Примечание: При работе (Restructure) с какой-либо таблицей, окна других таблиц лучше закрыть.
3.    Разработка Приложения.

1)    Разместить на форме компоненты как  показано на рисунке 1.
2)    Сохранить Приложение в том же каталоге, где хранится каталог базы данных
3)    Для удобства работы изменить  названия компонентов TTable на tbF, tbGrp, tbStd и TDataSource на dsF, dsGrp, dsStd.
4)    Связать компоненты и активизировать таблицы (см. лекцию, п.8.4).
Должны появиться пустые таблицы с заголовками полей.

4.    Объединение таблиц.

1)    Свойство MasterSource: TDataSource;  - определяет имя главной таблицы в связи главный-подчиненный
     Установите TbStd.MasterSourse  - dsGrp;
                         TbGrp.MasterSourse  - dsF;

2)    Свойство MasterFields: String;  - Содержит список полей главной таблицы, по которым в данной подчиненной таблице будет установлена связь главный - подчиненный

     Работа с полем MasterFields компонента tbStd: в строке Available Indexes выбрать внешний ключ таблицы Stud, в Detail Fields выделить ключ, в Master Fields выделить первичный ключ, нажать Add (в Joined Fields появится отношение), Ok.

3)    Сохраните Приложение

5.    Заполнение таблиц.

- Запустите Приложение (обратите внимание на скорость запуска Приложения при первом запуске и при последующих) и заполните таблицы (поля F_Num, G_Num, St_Num заполняются автоматически).
Примечание: Удалить запись – Ctrl-Delete
- Измените у какой-нибудь записи таблицы Stud значение поля G_Num. Посмотрите, что получится.
- Завершите работу Приложения.

6.    Редактирование полей
 
1)    Чтобы работать с конкретным полем надо создать объект для этого поля.

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

Создание полей-объектов. Дважды щелкните по компоненту TTable (или щелкните правой кнопкой мыши и выберите Fields Editor). На экране появится пустое окно редактора полей. Щелкните правой кнопкой мыши и выберите Add Fields – будет показан список всех полей текущей таблицы. Выделите все поля и Ok.

2)    Для настройки полей поочередно щелкайте мышью в списке редактора по каждому полю и в окне Object Inspector устанавливайте нужные значения свойств.
-    DisplayLabel – заголовок поля (замените названия полей на русские);
-    DisplayWidth – ширина поля;
-    Alignment – расположение значений поля относительно границ;
-    Index – номер поля в таблицы (нумерация поле начинается с 0) – не изменять;
-    ReadOnly – только для чтения;
-    Visible – видимость (можно сделать невидимыми ключевые поля, , которые необходимы для обеспечения уникальности, но не несут никакой смысловой нагрузки).  (Для выполнения следующих пунктов изменять значения Visible на False не рекомендуется)

3)    Сохраните Приложение

7.    Проверка работы Приложения

1)    Запустите Приложение и проследите  за изменением индексированных полей во всех таблицах каждый раз при переходе на другую запись.
2)    С помощью Database Desktop просмотрите содержимое и структуры таблиц.

ЗАДАНИЕ 2

Добавить в Приложение (см. рис. 2)

1.    Для таблицы Facultу и Group – компонент TDBNavigator.
Установите свойства TDBNavigator: DataSource = dsF (dsGrp);
                            ShowHint = True   
2.  Для таблицы Stud:
-    Перемещение на первую запись (First)
-    Перемещение на одну запись назад (Prior)
-    Перемещение на одну запись вперед (Next)
-    Перемещение на последнюю запись (Last)
-    Добавление новой записи (значение поля Фамилия - из  Edit1) (Insert)
-    Редактирование  записи (значение поля Фамилия - из  Edit1) (Edit)
-    Удаление записи (Delete)
-    Удаление всех записей (Del All)
-    Перемещение на заданное количество записей, '-' – движение к первой записи (Move by)
-    Включение режима сортировки (неотсортированный список/ сортировка по фамилиям).
   Для возможности сортировки по полю Фамилия надо создать вторичный индекс таблицы Stud по двум полям: G_Num и St_FIO (Фамилия). Для этого выполните следующее:
•    Установите значения свойства Active=False у всех таблиц (это необходимо, чтобы можно было реконструировать таблицы. При Active=True таблицы находятся в режиме работы с базой данных и изменять их нельзя)   
•    Запустите DBD и создайте    вторичный индекс известным способом
•    Вернитесь к Приложению и у всех таблиц    установите значения свойства Active=True   
–    Поиск фамилии способом перебора (Фамилия набирается в Edit2)
3.    Для выполнения в таблице Stud Точного поиска и Поиска по символам необходимо:
•    Установить значения свойства Active=False у всех таблиц
•    Запустить DBD и создать вторичный индекс (inFIO) табл. Stud по полю St_FIO
•    Вернуться в Приложение к табл. Stud и установить значение свойства Active=True (у таблиц Faculty и Group свойство Active=False)
•    Запустить Приложение и проверить оба варианта поиска.   

Примечание: 
1) Поиск по символам - набирая последовательно буквы в строке Edit2, курсор
                   должен перемещаться на запись с наиболее похожым значением поля Фамилия.
2) Точный поиск  - набрав фамилию в строке Edit2, курсор должен           перемещаться на запись с такой же Фамилией   
3) Для возвращения работы со всей базой надо: Установить значения свойства Active=True у всех таблиц;  Текст обработчиков событий Точного поиска и Поиска по символам оформить как комментарий.

ЗАКАЗАТЬ РАБОТУ
Отправь нам своё задание, и мы поищем твою работу в нашей базе готовых работ. А если не найдем, то порекомендуем партнеров, которые качественно смогут выполнить твой заказ.
(doc, docx, rtf, zip, rar, bmp, jpeg) не более 5 Мб