Домой л.р.2 - Создание базы данных формата
Paradox средствами Delphi (BDE)


*********** ОТЧЕТ по лаб 2_1 (с изменениями) *************
Проект позволяет просматривать и редактировать все 5 таблиц 
базы данных.
БД создавалась при помощи DataBase Desktop:
 - таблицы (см описания)
 - первичные и вторичные индексы,
 - ссылочные целостности,
 - шаблоны,
 - проверка вводимых значений,
 - создание таблицы подстановок,
 - пароли.
------------
Примечание: все это выполнено для алиаса kassa4.
Для БД, подключенной через алиас kassa5 удалено
все, кроме таблиц и паролей, а для алиаса kassa_
удалены и пароли. 

1. Структура таблиц Paradox7:
==============================
Табл ap_users
--------------------------------
Имя поля     Тип   Размер   Ключ  Вторичн
                                   индекс
-------------------------------- 
Id_users      S               *     
Name          A     100
Email         A      30           I_Email
Pass          A      20
Contactfio    A      30
Id_country    S                   I_Id_country
Pindex        A      10
City          A      20
Paddress      A      50
Phone         A      12
Fax           A      12
Etc           A      50       
-----------------------------

Табл countries
--------------------------------
Имя поля     Тип   Размер   Ключ
--------------------------------
Id_country    S              * 
Country       A      20
----------------

Табл kategorii
--------------------------------
Имя поля     Тип   Размер   Ключ
--------------------------------
Id_kategor    S               *
Kategor       A      30
--------------

Табл lek_list
--------------------------------
Имя поля     Тип   Размер   Ключ  Вторичн
                                   индекс
-------------------------------- 
Lek_id        S              * 
Id_kategor    S                    I_kategor_cena
Nazvan1       A      30            I_Nazvan
Nazvan2       A      30            I_Nazvan
Nazvan3       A      40            I_Nazvan 
Cena          $                    I_kategor_cena 
-----------------

Табл sklad
--------------------------------
Имя поля     Тип   Размер   Ключ
--------------------------------
Lek_id        S               *
Ostatok       S             I_Ostatok   
Stellaj       A             I_Stellaj
===========================================

2.Описание созданных ссылочных целостностей.
============================================

a)- lek_list.id_kategor - kategorii.id_kategor (m:1) имя = Kategor
свойства: Cascade, Strict Referential Integrity.

 Проверки:
  1. Попытка ввести лекарство категории= 13 
(или переправить категорию на 13) в табл lek_list 
 => отвергает (не закрывает таблицу).
  2. Попытка удалить категорию=11 из таб kategorii: отвергает.
т.е. связь работает

b) -lek_list.lek_id -> sklad.lek_id (1:1) имя:lek_id  
 Проверка: попытка исправить lek_list.lek_id  отвергается,
если новое значение lek_list.lek_id отсутствует в табл. 
sklad, потому что sklad- родительская таблица. 

дочерняя - где m вхождений,
родительская - где 1.
===================================

3. Алиас = kassa4
================================== 


4.Описание используемых свойств таблиц. 
=======================================

--- 4.0. Шаблоны для ввода данных: ----
Полям Phone и Fax табл ap_users назначен шаблон: #### ### ###

--- 4.1. проверка правильности вводимых значений Validity Cheks: ----
- все ключи (id_  ): min = 1 max = 32000 
---- ap_users -----
id_users, id_country - min = 1 max = 32000
---- lek_list -----
lek_id, id_kategor - в табл lek_list min = 1 max = 32000 
cena min=0 max= 10000.
---- sklad:----
lek_id - min = 1 max = 32000
ostatok - min = 0 max = 32000 

-------- 4.2. Создание таблицы подстановки  Table Lookup. --------
Для поля ap_users.id_Country - таблица Countries (id_country) 
Проверяется в DB DeskTop (Ctrl-Space - для показа табл Lookup)

------ 4.3. Создание вторичных индексов Secondary Indexes --------
I_Email - поле Email, I_Id_country - поле Id_country табл ap_users
I_Id_kategor - поле Id_kategor, I_nazvan - поля nazvan1,2,3 табл lek_list 
I_Ostatok, I_Stellaj - Ostatok, Stellaj табл sklad  

--- 4.4.Установление целостности на уровне ссылок Referential Integrity ---

lek_list.id_kategor - kategorii.id_kategor (m:1) имя = Kategor
свойства: Cascade, Strict Referential Integrity.

 Проверки:
  1. Попытка ввести лекарство категории= 13 
(или переправить категорию на 13) в табл lek_list 
 => отвергает (не закрывает таблицу).
  2. Попытка удалить категорию=11 из таб kategorii: отвергает.
т.е. связь работает

lek_list.lek_id -> sklad.lek_id 1:1 

дочерняя - где m вхождений,
родительская - где 1.

=====================================
 5. Пароли: 
ap_users, lek_list 
 - пароль допуска: krolik (Master password)- можно менять все.
 - slon - доступ к табл lek_list (Insert и delete), но недоступно поле pass.
 - zubr -> ТОлько для чтения все поля, а cena - полный доступ.

Пароли спрашивает DeskTop и Делфи-программа.
Проверено: пароли работают, как описано. 


***************** Приложение *************************
А. Как установить на другой машине:
--------------
1. В какую-нибудь папку (например, E:\tempo) распаковать архив Apteka2_1.rar 
 В результате - в папке E:\tempo\Apteka будут все файлы
Делфи-проекта, 
а в папке E:\tempo\Apteka\BD_kassa - база данных, где находятся все таблицы.

2. Зарегистрировать алиас kassa4, для этого вызвать BDE Admin и 
  - В меню: Object\New, driver name оставить - STANDARD щелкн ОК
  - В правом окне, строка PATH пощелкать и установить путь к БД,
 т е E:\tempo\Apteka\BD_kassa (папка BD_kassa должна распахнуться)
 щелк ОК
  - Перейти на закладку Configuration, щелк по кресту Configuration
 затем: Dravers - Native - Paradox
  - В правом окне, строка LANGDRIVER из списка выбрать Pdox ANSI Cyrillic
  - Раскрыть SYSTEM - Init и тоже выбрать LANGDRIVER = Pdox ANSI Cyrillic
  - Сделать правый щелчок на Configuration и выбрать Apply (если доступно)
  - Вернуться на закладку DATABASES, правый щелчок по STANDARD1, выбрать - 
переименовать. Новое имя - kassa4. 
  - Еще правый щелчок по STANDARD1, выбрать - Apply, затем - ОК

В результате будет создан алиас= kassa4 (постоянный). 
Фокусы с Pdox ANSI Cyrillic можно отложить на потом (если будут проблемы 
с русификацией таблиц.) 

3. Запустить Apteka2_1.exe Из папки с проектом Делфи.
если алиас создан нормально, появится окно этой программы. Можно кнопкой Open
открыть любую таблицу (основной пароль= krolik, другие пароли см. в отчете)
Таблицы можно просматривать и редактировать, используя компонент DBNavigator.
Для редактирования:
 - щелкнуть "Редактировать запись"
 - исправлять в клеточках DBGrid
 - для фиксации исправлений щелкнуть "Сохранить исправления". 

4. Если постоянный алиас не нужен, то можно создавать временный, при помощи
DB DeskTop. Меню\Tools\Alias Manager.
 - Щелкнуть New, вписать kassa4 в окно Database alias , затем
щелкнуть save as, в появившемся окошке выбрать из раскрывающегося списка
kassa4, затем сохранить файл IDAPI32.CFG в папке E:\tempo\Apteka\BD_kassa
 Однако когда алиас станет негодным - прога не запустится и придется повторить 
создание алиаса. 
--------------------------------------------------

Screens

BDE, Paradox BDE, Paradox
Rambler's Top100
Hosted by uCoz