47951 (Основы баз данных), страница 2

2016-07-30СтудИзба

Описание файла

Документ из архива "Основы баз данных", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "47951"

Текст 2 страницы из документа "47951"

Для выполнения дополнительных действий по определению структуры таблицы используется комбинированный список Table properties (свойства таблицы), содержащий следующие пункты:

  • Secondary Index – задание индекса;

  • Validity Checks – ограничения на ввод значений полей;

  • Password Security – определение пароля;

  • Referential Integrity – определение ссылочной целостности между таблицами;

  • Table Language – задание языка;

  • Table Lookup – задание полей просмотра.

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

При выборе пункта Secondary Index комбинированного списка становится доступной кнопка Define (определить). После ее нажатия проявляется окно Define Secondary Index (задание вторичного индекса) (рис. 5). В этом окне задаются индексные поля, отображаемые в правом списке, и параметры индекса, основные из которых изменяются с помощью следующих флажков:

  • Unique – индекс допускает уникальные значения для составляющих его полей;

  • Case sensitive – для полей строкового типа учитывается регистр символов;

  • Descending – сортировка выполняется в порядке убывания значений.

После задания состава индексных полей и нажатия кнопки ОК появляется окно Save Index As, в котором указывается имя индекса.

Рис. 5. Окно задания индекса

После определения структуры таблицы ее необходимо сохранить, нажав кнопку Save as… (сохранить как) и указав расположение таблицы и ее имя на диске.

В последующем структуру таблицы можно изменить, вызвав команду Table/Restructure... (таблица/изменить структуру), которая доступна только для открытой таблицы.

1.6.2 Создание формы приложения

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

Вид формы приложения представлен на рис. 6. На форме расположены следующие компоненты: Table1, DataSource1, DBGrid1 и DBNavigator1.

Рис. 6. Форма приложения для работы с БД

Компонент Table1 обеспечивает взаимодействия с БД. Для связи с требуемой таблицей необходимо установить соответствующие значения свойств DataBaseName, которое указывает путь к БД, и TableName, которое задает имя таблицы. После задания таблицы БД свойству Active должно быть установлено значение True.

При смене таблицы перед значением свойств DataBaseName и TableName нужно установить значение False свойству Active.

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

Компонент DataSourse1 является промежуточным звеном между компонентом Table1, который соединен с реальной таблицей БД, и управляющими компонентами DBGrid1 и DBNavigator1, с помощью которых пользователь взаимодействует с этой таблицей. На компонент Table1, с которым связан компонент DataSourse1, указывает свойство DataSet последнего.

Компонент DBGrid1 отображает содержимое таблицы БД в виде сетки, в которой столбцы соответствуют полям, а строки – записям. По умолчанию пользователь может просматривать и редактировать данные. Компонент DBNavigator1 предоставляет возможность перемещаться по таблице, редактировать, вставлять и удалять записи. Компоненты DBGrid1 и DBNavigator1 связываются со своим источником данных – компонентом DataSourse1 через свои свойства DataSource.

При разработке приложения значения всех свойств компонентов можно задать с помощью Инспектора объектов. При этом требуемые значения можно набрать в поле значений или выбрать из раскрывающихся списков. В табл. 2 приведены компоненты для работы с БД, а также основные свойства и их значения. В данном примере используется таблица из файла с названием spispe1.db, которая лежит в папке, указанной пользователем. Путь к каталогу указывает псевдоним pimDB.

Таблица 2

Значения свойств компонентов

Компонент

Свойства

Значения

Table1

Active

spispe1.db

DataBaseName TableName

primDB

true

DataSourse1

DataSet

Table1

DBGrid1

DataSource

DataSource1

DBNavigator1

DataSource

DataSource1

Для автоматизации процесса создания формы, использующей компоненты для операции с БД, можно вызвать Database Form Wizard (Мастер форм баз данных). Появится окно, представленное на рис. 7. Мастер форм баз данных расположен на странице Business хранилища объектов, доступ к которому осуществляется по команде File/New… (файл/новый).

Рис. 7. Окно Мастера форм баз данных

Мастер форм баз данных позволяет создавать формы для работы с отдельной таблицей и с взаимосвязанными таблицами, при этом можно использовать наборы данных Table и Query.

1.7 Программа BDE Administrator

Программа BDE Administrator представляет собой администратор процессора баз данных BDE. Для вызова администратора BDE запускается файл bdadmin.exe. Администратор позволяет настраивать параметры БД и системные параметры (операционной системы). Параметры псевдонима: название, тип, путь. Параметры драйвера: тип, язык. Системные установки: установки по умолчанию, форматы даты, времени и числовые параметры.

Для настройки некоторого параметра в левой части окна администратора BDE выбирается нужный объект, после чего в правой части окна становится доступным список параметров этого объекта. Добавить новый объект можно, выбрав в окне администратора пункт меню Object/New (Объект/Новый).

1.8 Работа с псевдонимами

Псевдоним (alias) указывает на местоположение БД и представляет собой специальное имя для обозначения каталога.

Для добавления нового псевдонима перед вызовом пункта меню Object/New администратора нужно выбрать вкладку Database в левой части окна. В диалоговом окне нужно выбрать тип драйвера. Для локальных таблиц Paradox выбирается тип STANDARD.

После нажатия кнопки ОК создается новый псевдоним, и его данные отображаются в окне администратора BDE (рис. 8). Новый псевдоним автоматически получает имя STANDARD1 и параметры по умолчанию.

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

  • DEFAULT DRIVER – указывает формат таблицы БД;

  • ENABLE BCD – указывает на необходимость перевода чисел в формат BCD, что позволяет более точно выполнять числовые значения, но уменьшает скорость их выполнения;

  • PATH – указывает расположение (каталог) БД.

Рис. 8. Установка параметров псевдонимов

1.9 Работа со связанными таблицами

Между отдельными таблицами БД может существовать связь, которая организуется через поля таблиц. Поля связи обязательно должны быть индексированными. Связь между таблицами определяет отношение подчиненности, при котором одна таблица является главной (родительской), а другая – подчиненной (дочерней или детальной). Обычно используется связь "один ко многим", когда одной записи в главной таблице может соответствовать несколько записей в подчиненной таблице.

Для организации связи между таблицами в подчиненной таблице используются свойства (в Object Inspector):

  • MasterSource – источник данных главной таблицы;

  • IndexName – текущий индекс;

  • IndexFieldNames – поле или поля связи текущего индекса подчиненной таблицы;

  • MasterFields – поле или поля индекса главной таблицы.

Для таблиц Paradox в качестве полей связи должны использоваться поля главного индекса, а для подчиненной таблицы – поля вторичного индекса.

Рассмотрим пример вывода данных из главной и подчиненной таблиц (рис. 9). Для организации связи в качестве поля связи главной таблицы берется автоинкрементное поле Kod уникального кода. По этому полю построен главный ключ, значение которого автоматически формируется при добавлении новой записи и в пределах таблицы является уникальным. В подчиненной таблице полем связи является целочисленное поле KodPe, по которому построен вторичный индекс.

Рис. 9. Форма связи между таблицами "один ко многим"

В верхней части формы (см. рис. 9) выводится список всех подвижных единиц (ПЕ), в нижней – сведения о ремонтах выбранной ПЕ. Для наглядности в наборы данных включены все поля таблиц, которые отображаются в компонентах DBGrid. При этом названия заголовков столбцов совпадают с названиями полей.

В рассмотренном примере связь между таблицами устанавливается при выполнении приложения. Обычно таблицы связывают на этапе разработки через Инспектор объектов. При этом для установки свойства MasterFields можно использовать редактор полей связи (Field link Designer). В списке Detail Fields выбирается поле подчиненной таблицы, а в списке Master Fields – поле главной таблицы (рис. 10).

Рис. 10. Редактор полей связи

После нажатия кнопки Add выбранные поля связываются, что отображается в списке Joined Fields. Заполнение свойства MasterFields происходит после закрытия окна при нажатии кнопки OK.

В Delphi для работы с наборами данных таблиц применяются компоненты Table, Query, Decision Query и StoredProc.

Компонент Table представляет набор данных, который в некоторый момент времени может быть связан с одной таблицей БД. Расположение БД, с таблицами которой выполняются операции, указывает свойство DataBaseName типа String (рис. 11). Значением свойства является имя каталога, в котором расположены БД, или псевдоним, ссылающийся на этот каталог.

Рис. 11. Свойства компонента Table в инспекторе объектов

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

Для того чтобы запретить пользователю изменять записи, можно использовать свойство ReadOnly типа Boolean. По умолчанию это свойство имеет значение False. Это означает, что пользователь может редактировать записи.

Установить текущий индекс можно с помощью свойства IndexName типа String. Текущий индекс выбирается из списка индексов, которые были заданы при создании таблицы. На этапе разработки приложения все возможные значения свойств IndexName содержат раскрывающиеся списки, доступные в Инспекторе объектов.

Наборы данных могут находиться в открытом или закрытом состоянии, на что указывает свойство Active типа Boolean. Если свойству Active установлено значение True, то набор данных открыт. Если значение свойства Active равно False (по умолчанию), то набор данных закрыт и его связь с БД разорвана.

Для вывода содержимого набора данных в табличном виде удобно использовать сетку, представленную компонентом DBGrid. Внешний вид сетки соответствует внутренней структуре таблицы БД и набора данных, при этом строке сетки соответствует запись, а столбцу – поле.

Компонент DataSource – источник данных. Используется как промежуточное звено между набором данных и визуальными компонентами, с помощью которых пользователь управляет этим набором данных. Для указания набора данных, с которым связан источник данных, используется свойство DataSet типа TDataSet последнего. Визуальные компоненты связаны с источником данных через свои свойства DataSource при проектировании в Инспекторе объектов.

2. Задания к лабораторным работам

Вариант 1

1. Спроектировать базу данных в первой, второй и третьей нормальных формах для ежедневного учета работы водителей в трамвайном депо. Учет ведется на основании документа – путевой лист. В путевом листе содержится следующая информация: дата, маршрут, график, смена, табельный номер водителя, фамилия, время начала работы, время окончания работы, номер вагона, простои на линии. Простои содержат следующую информацию: код простоя, начало простоя, окончание простоя. За водителем закреплен номер вагона и номер маршрута. Водитель может работать и на другом вагоне, и на другом маршруте. График содержит: идеальное (по графику) время начала работы, время окончания работы, номер маршрута, номер смены.

2. Создать запросы, в которых необходимо:

  • вывести коды простоев за последний месяц, которые произошли в первую смену;

  • вывести список водителей, работающих на “своем” и на “другом” маршруте;

  • вывести табельные номера водителей, работающих по две смены в день.

3. С помощью запроса создать таблицу “Опасные маршруты”, содержащую список маршрутов, у которых за последний месяц были простои по вине дорожно-транспортных происшествий.

4. В путевом листе измените поле “Дата”, проставив текущую дату для маршрута № 2.

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5250
Авторов
на СтудИзбе
422
Средний доход
с одного платного файла
Обучение Подробнее