Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Основная часть. Создание БД представим таким образом





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

Конструирование мастер-таблицы

Для создания таблиц базы данных необходимо запустить утилиту Database Desktop (DBD) (Пуск/Программы/Borland Delphi 3/Database Desktop). После запуска утилиты установим рабочий псевдоним утилиты. Это псевдоним, с которым утилита работает по умолчанию. Если рабочий псевдоним не установлен, придется при работе с DBD всякий раз указывать псевдоним, что отнимает время.

Для установки рабочего псевдонима нужно выбрать элемент главного меню File|Working Directory и в выпадающем списке Aliases выбрать имя псевдонима PRIMER, после чего нажать кнопку Ok.

Конструирование структуры таблицы. Для создания таблицы БД нужно выбрать элемент главного меню File|New|Table. В появившемся окне Create Table оставляем без изменения тип создаваемой таблицы (Paradox 7) и нажимаем кнопку Ok. После этого появится окно определения структуры таблицы БД (рис. 6).

 

 

Рис.6 Утилита Database Desktop: окно определения структуры таблицы БД

 

Каждая строка таблицы соответствует полю. Назначения столбцов:

· Fields Name - имя поля;

· Type - тип поля;

· Size - размер поля (для строковых полей, поскольку иные поля подразумевают размер, определяемый типом поля);

· Key - содержит звездочку '*', если поле входит в состав первичного ключа. Если в первичный ключ входит несколько полей, они должны определяться в той последовательности, в которой они присутствуют в первичном ключе. Кроме того, все поля, входящие в состав первичного индекса, должны определяться перед иными полями, то есть быть в списке полей наверху.

Определим поля, входящие в таблицу "Материалы". Введем Material в столбец Field Name. Для того, чтобы определить тип поля, щелкните по столбцу Type и нажмите клавишу пробела. В ответ на это будет выдан список типов полей, из которых необходимо произвести выбор нужного типа

(рис. 7).

 

 

Рис.7. Выбор типа поля

 

Для того чтобы определить тип поля Material, выберем Alpha и затем в столбце Size укажем значение 20. В столбце Key поместим звездочку, означающую, что данное поле входит в состав первичного ключа. Для этого нажмем любой символ на клавиатуре. Повторное нажатие любого символа снимает отметку звездочкой в столбце Key.

Мастер таблица по первичному ключу индексируется.

Введем определения и других столбцов таблицы Materialy (рис. 9).

 

Рис.9. Определение структуры таблицы Materialy

 

Согласно условиям задачи все поля данной таблицы должны заполнятся. Поэтому для каждого поля определим требование обязательного заполнения поля значением. Для этого, переходя от поля к полю, включим переключатели Required Field. Другие поля служат для наложения ограничений на значение поля:

· Minimum value - определяет минимальное значение поля

· Maximum value - определяет максимальное значение поля

· Default value - определяет значение поля по умолчанию

· Picture – определяет шаблон изображения поля. Для формирования шаблона следует нажать кнопку Assist.

Отсутствие значения в одном из полей означает отсутствие ограничений на значение поля.

Заполнение и запомнить таблицы. После конструирования структуры таблицы в Database Desktop можно заполнить таблицу. Отметим, что заполнение таблицы в русском алфавите может не удасться, тогда следует использовать латинский алфавит.

Чтобы запомнить сохраненную таблицу на диске, следует нажать кнопку Save As. Затем в появившемся окне следует указать имя таблицы (рис. 10) При желании можно указать каталог или псевдоним, отличные от принятых по умолчанию. Напомним, что по умолчанию принимается рабочий каталог или каталог, определяемый рабочим псевдонимом.

После того как мы определим имя создаваемой таблицы (Materialу) в каталоге С:\PRIMER (он назначен псевдониму PRIMER, используемому нами в качестве рабочего псевдонима) будет создан файл Materialу.DB и файлы индексов с соответствующими расширениями.

Рис.10. Окно сохранения таблицы

Реструктурирование созданной таблицы. Если в структуру существующей таблицы БД необходимо внести изменения следует выбрать элемент меню File | Open | Table, в появившемся диалоговом окне выбрать имя таблицы и нажать кнопку Ok. Будет показано содержимое таблицы (на рис. 11, в таблице Materialу отсутствуют записи, что не удивительно поскольку мы их еще не вводили).

 

 

Рис.11. Содержимое таблицы Materialy – записи еще не введены

 

 

В том случае, когда мы хотим ввести новые записи в таблицу прямо в DBD (а также изменить значения в некоторых записях или произвести удаление) следует нажать кнопку F9. После этого таблица будет переведена в режим внесения изменений.

Чтобы изменить структуру таблицы, выберите элемент меню Table | Restructure. Вслед за этим будет показано диалоговое окно для определения структуры таблицы.

 

 

Конструирование деталь таблицы

Определим структуру второй таблицы "Поступление материалов"

(рис. 12), которая является деталь-таблицей. Способ конструирования структуры этой таблицы почти аналогично мастер таблице. Кроме следующих отличий.

 

 

Рис.12. Структура таблицы Prihod

 

Всем полям назначим атрибут Required (требование обязательного существования значения у поля на момент его запоминания в БД), кроме поля N_Prih, поскольку это поле автоинкрементальное, заполнение его значением производится автоматически при запоминании новой записи.

Создадим индекс по полям “Дата прихода”, “Материал”. Для этого в комбинированном списке Table Properties (в правом верхнем углу окна) выберем элемент Secondary Indexes. После этого диалоговое окно приобретет вид, показанный на рис. 13.

 

 

 

Рис.13. В правой части окна появился элемент Secondary Indexes

 

Чтобы определить новый индекс, нажмем кнопку Define. В появившемся диалоговом окне в поле Fields содержится список полей определяемой нами таблицы. Поле Index Fields предназначено для хранения полей, входящих в создаваемый индекс.Чтобы скопировать конкретное поле из списка Fields всписок Index Fields, нужно нажать кнопку с изображением правой стрелки. Последовательность добавления полей в список важна, она определяет порядок чередования полей в списке. После того как мы поместили нужные поля в список Index Fields (рис. 14), нажмем кнопку Ok.

 

Рис.14. Определение полей, входящих в состав индекса

В появившемся окне запрашивается имя индекса (рис. 15) Следует ввести имя и нажать Ok.

 

Рис.15. Окно сохранения индекса

 

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

Как видно на рис. 16, после добавления нового индекса его имя появилось в списке индексов.

 

 

Рис.16. Список индексов, определенных для таблицы Prihod

 

Впоследствии, щелкнув по имени индекса, мы можем его удалить (кнопка Erase) или изменить (кнопка Modify).

Сохраним созданную нами таблицу под именем Prihod.

 

Конструирование базы данных

Теперь конструируем БД в целом из таблиц, структура которых созданы, т.е. из конструированных таблиц.

Как известно из постановки задачи, таблицы "Материалы" и "Приход материалов" находятся в отношении "один - ко - многим", то есть с одной записью в таблице Materialy может быть связано несколько записей по приходу того же материала в таблице Prihod. В качестве поля связи выступает поле Material, присутствующее в обеих таблицах.

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

Откроем таблицу Prihod (элемент меню File | Table | Open) и затем войдем в режим изменения структуры таблицы (Table | Restructure). В выпадающем списке Table Properties выберем элемент Refrential Integrity и нажмем кнопку Define. В появившемся диалоговом окне (рис. 17) в списке Fields показаны поля таблицы Prihod, а в списке Tables - таблицы базы данных PRIMER.

 

 

Рис.17. Окно для создания ссылочной целостности

 

Выберем в списке Fields поле Material и нажмем кнопку с изображением стрелки вправо. Название Material будет записано в поле Child Fields (поле внешнего ключа дочерней таблицы).

Выберем в списке Tables таблицу Materialy и нажмем кнопку с изображением стрелки влево. В поле Parents Key (ключ родительской таблицы) будут показаны поля из первичного ключа таблицы Materialy. В данном случае это поле Material.

Переключатели Update rules определяют вид каскадных воздействий на таблицу Prihod при изменении значения поля связи в таблице Materialy или при удалении записи в таблице Materialy:

· Cascade - каскадные изменения и удаления подчиненных записей в таблице Prihod;

· Prohibit - запрет на изменение поля связи или удаление записи в таблице Materialy, если для данной записи есть связанные записи в таблице Prihod. Выберем Cascade (рис. 18) и нажмем кнопку Ok.

 

 

Рис.18. Определение условий ссылочной целостности

 

Будет запрошено имя - в Paradox ссылочные целостности именуются. Введем имя, например Materialy_Prihod_Integrity, и нажмем кнопку Ok. Теперь имя созданной ссылочной целостности будет помещено в список.

Запомним изменения в таблице Prihod (кнопка Save) и заново войдем в режим реструктуризации таблицы Prihod (Table|Restructure). В выпадающем списке Table properties выберем элемент Secondary Indexes (индексы таблицы, кроме индекса, построенного по определению первичного ключа). В списке индексов увидим, что появился новый индекс с именем Material (по полю Material). Этот индекс построен автоматически по неявному определению внешнего ключа при создании ссылочной целостности (рис. 19).

На этом процесс построение БД закончится, поэтому можно выйти из режима реструктуризации и покинем DBD. После этого перейдем к разработке простейшего приложения для работы с созданными таблицами.

 

Рис.19. Список индексов таблицы Prihod после создания ссылочной целостности

Date: 2015-10-21; view: 362; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию