Переговоры

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Переговоры » Поговорим о сайте » Вперед к победе ккоммунизма!


Вперед к победе ккоммунизма!

Сообщений 1 страница 10 из 10

1

Вперед к победе ккоммунизма!

0

2

Коммунизм - не за горами.

0

3

За горами - Грузия

0

4

И еще -Армения

0

5

И еще - Азербайджан

0

6

а дальше -Турция

0

7

Через море - Израиль

0

8

А в Израиле - Моисей

0

9

Но коммунизм он и в Израиле не построил

0

10

С учётом согласований: 1.25.08

Задание 01.  8 программ работы с базами данных.

Назначение.   Обеспечение независимости проекта от используемых баз данных.

Исходные предпосылки.

1. Предполагается, что ПроТИС будет работать только с теми БД, которые обеспечивают SQL стандарт. А на первом этапе – это (по умолчанию) БД MySQL.
   
2. Ввиду того, в SQL стандарт не входит регламентация на подпрограммы в самих БД и не регламентируется структура доступа к самим БД, а регламентируется только сам язык SQL, необходимо создать стандартные операции обращения к подпрограммам формирования обращения к БД.  На первом этапе это м.б. простые операции над одной таблицей с простейшими условиями внутри WHERE. Имя таблицы предполагается в глобальной переменной db_name.

3. На первом этапе д.б. разработаны программы:

1. UNISELECT 2. UNIUPDATE   3. UNIINSERT   4. UNIDELETE
5. UNIFIND         6. UNICREATE    7. UNICOPY      8. UNITRANSFR

3.1. UNISELECT

Назначение:   Выборка данных из таблицы и занесение их в заданные поля.

Исходные данные.

Вызов: uniselect (db, tab_name, col_list, arr_list, sel_cond )
db - переменная типа resource, для задания открытой базы данных (Может храниться в глобальной переменной, чтобы сократить техт обращения)

Для этого в скрипт, где хранится набор предложенных функций необходимо добавить
функцию

uniconnect ( $host, $username, $password );

Параметры – 4 текстовые переменные:

tab_name - имя таблицы
col_list – перчень имён столбцов, из которых должна производиться выборка в том же порядке
arr_list – двумерный массив, в котором строка – массив значений записи. 
форматов, в которые должна производиться выборка в том же порядке
sel_cond - условие выборки (в формате SQL)

Целая переменная count_max содержит ожидаемое максимальное число записей. Если оно =0, то такого числа нет;

Результат.

1. В целой переменной count_rec – количество выбранных строк.
2. В целой переменной count_bug – количество ненайденных (по именам) столбцов.
Если не найдена по имени таблица – здесь -1.
Если найдено количество строк больше максимально ожидаемого – здесь -2
Если форматы переменных в БД и одномерных принимающих массивов или переменных не
совпадают – здесь -3

Примечание:    При обнаружении ошибки программа формирует 0 в count_rec и соответстующее значение в count_bug.

3.2. UNIUPDATE

Назначение:    Изменение значений в столбцах таблицы.

Исходные данные.

Вызов: uniupdate (db, tab_name, col_list, arr_list, sel_cond )
db - переменная типа resource, для задания открытой базы данных
Параметры – 4 текстовые переменные:

tab_name  - имя таблицы
col_list – перчень имён столбцов, в которых должна производиться замена значений
arr_list - перечень значений, которые должны помещаться в соответствующие поля
(текстовые значения должны заключаться в одинарные скобки).
sel_cond - условие для нахождения строки в таблице (в формате SQL)

Порядок следования значений должен совпадать с порядком имен столбцов в перечне имён столбцов.

Результат.

В целой переменной count_bug – количество ненайденных (по именам) столбцов.
Если не найдена по имени таблица – здесь -1.
Если форматы передаваемых данных не совпадают с форматами соответствующих столбцов в
БД  – здесь -3

Примечание:    При обнаружении ошибки программа формирует 0 в count_rec и соответстуюее значение в count_bug.

3.3. UNIINSERT

Назначение:   Добавление строк в таблицу.

Исходные данные.

Вызов: uniupdate (db, tab_name, col_list, arr_list, )
db - переменная типа resource, для задания открытой базы данных

Параметры – 3 текстовые переменные:

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

Порядок следования значений должен совпадать с порядком имен столбцов в перечне имён столбцов

Целая переменная count_ rec содержит количество добавляемых строк.

Результат.

В целой переменной count_bug – количество ненайденных (по именам) столбцов.
Если не найдена по имени таблица – здесь -1.
Если форматы передаваемых данных не совпадают с форматами соответствующих столбцов в
БД  – здесь -3

Примечание:    При обнаружении ошибки программа формирует 0 в count_rec и соответстуюее значение в count_bug.

3.4 UNIDELETE

Назначение:   Удаление строк из таблицы.

Исходные данные.

Вызов: unidelete (db, tab_name, sel_cond)
db - переменная типа resource, для  задания открытой базы данных

Параметры – 2 текстовые переменные:

tab_name - имя таблицы
sel_cond - условие (в формате SQL) для нахождения удаляемых строк

Результат.

В целой переменной count_bug :
Если не найдена по имени таблица – здесь -1.
    В целой переменной count_rec – количество удалённых строк

3.5. UNIFIND

Назначeние:   Определить наличие таблицы с заданным именем.

Исходные данные.

Вызов: unifind (db, tab_name)
db - переменная типа resource, для  задания открытой базы данных

Параметр – 1 текстовая переменная:

tab_name - имя таблицы

Результат.

В целой переменной count_bug:
Если не найдена по имени таблица – здесь -1, иначе 0.

3.6. UNICREATE

Назначeние:    Создание таблицы.

Исходные данные.

Вызов: unicreate (db, tab_name, cоl_format)
db - переменная типа resource, для задания открытой базы данных

Параметры – 2 текстовыe переменные:

tab_name - имя создаваемой таблицы
cоl_format – имя массива, в каждой строке которого записаны имя столбца и его формат.

Результат.

В целой переменной count_bug :
Если имя таблицы уже существует – здесь -1.
Если имя таблицы недопустимо – здесь -2.
Если недопустимый формат – здесь -3
Количество недопустимых форматов – в count_bug.

Примечание:  Для модели, как сейчас представляется, надо всего 5 форматов:

строка( 0-255 символов ),
текст(аналог BLOB  поле переменной длины которой позволяет сохранять более 255 символов текста. Оно необходимо для сохранения страниц текста ),   
целое,   
десятичное,   
дата.

Следует предусмотреть возможность добавления новых форматов, предусмотренных MySQL.

3.7. UNICOPY

Назначeние.      Копирование таблицы с заменой имени.

Исходные данные.

Вызов: unicopy (db, tab_name, new_tab_name)
db- переменная типа resource, для  задания открытой базы данных

Параметры – 2 текстовыe переменные:

tab_name - имя копируемой таблицы
new_tab_name – имя новой таблицы

Результат.

В целой переменной count_bug :
Если не найдена по имени таблица – здесь -1, иначе 0.

3.8. UNITRANSFER

Назначeние: Перенос сайта и БД.

Исходные данные и всё остальное – на усмотрение программиста.

Приложение: 

содержание и форма документации,
порядок сдачи-приёмки (ожидаю предложение программиста – для согласования).

0


Вы здесь » Переговоры » Поговорим о сайте » Вперед к победе ккоммунизма!