русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Связывание таблиц

Очень важно научиться устанавливать связи между таблицами, что позволяет выполнять нормализацию БД. Давайте добавим в нашу БД по DVD-дискам информацию о том, какая кинокомпания сняла тот или иной фильм. Если просто добавить в таблицу dvd.db текстовое поле, то названия компаний в нем будут повторяться, что означает нарушение принципов нормализации БД. Следовательно, список кинокомпаний нужно вынести в отдельную таблицу comp.db, а в таблице dvd.db оставить поле типа Long Integer, в котором будут храниться числа – ссылки на строки таблицы comp.db (Рис. 28.1).

dvd.db – главная таблица   comp.db – подчиненная таблица
Имя поля Тип данных   Имя поля Тип данных
ID автоинкремент   ID автоинкремент
NAME_RUSSIAN текст   NAME текст
NAME_ENGLISH текст      
NUMBER целое число      
SUBTITLES булевский      
YEARF целое число      
COMPANY длинное целое      

Рис. 32.1 Структуры главной и подчиненной таблиц.

Под ссылкой понимается значение, хранящееся в автоинкрементном поле ID подчиненной таблицы.

Откройте таблицу dvd.db в программе Database Desktop и измените ее структуру, щелкнув по кнопке Restructure. Добавьте поле COMPANY с типом данных Long Integer и сохраните изменения. При помощи той же программы создайте новую таблицу comp.db с полями ID (автоинкремент) и NAME (текст, 250 символов). Не забудьте изменить язык таблицы! Сохраните таблицу в той же директории, что и таблицу dvd.db. В созданную таблицу comp.db добавьте несколько записей с названиями кинокомпаний, а поле COMPANY таблицы dvd.db для всех записей пока занесите значение 1.

Вернитесь в Delphi. В модуль данных добавьте компонент Query, назвав его comp. Установите его свойства Active, DatabaseName, SessionName, RequestLive в те же значения, что и у компонента DVD. В свойство SQLзанесите выражение SELECT * FROM comp.

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

// открываем таблицу comp.db

Просмотров: 588


Вернуться в оглавление



Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.