Difference between revisions of "RU/kb/50000007"

From Apache OpenOffice Wiki
< RU‎ | kb
Jump to: navigation, search
(мелкие уточнения и стилистические поправки)
(заменил список на таблицу для наглядности)
Line 21: Line 21:
 
Между DML описанием таблицы и настройками элементов формы {{OOo}} существует следующая связь<ref>Проверено на встроенной HSQLDB</ref>:
 
Между DML описанием таблицы и настройками элементов формы {{OOo}} существует следующая связь<ref>Проверено на встроенной HSQLDB</ref>:
  
* Если в DML '''не''' указано NOT NULL, то в форме настройки игнорируются. Сохранять NULL-значения можно свободно.
+
{| class="prettytable"
 +
! DML,
 +
NOT NULL
 +
! Форма,  
 +
"требуется ввод данных"
 +
! Результат попытки сохранить NULL значение в БД
  
* Если в DML указано NOT NULL, то при "требуется ввод данных - '''да'''" и попытках записать пустое значение выводится локализованное предупреждение ООо. Т.е. проверка идет на стороне клиента.
+
|-
 +
| align="center"| не указано
 +
| align="center"| любое значение
 +
| Значение сохраняется.
 +
Настройки формы игнорируются.
 +
 
 +
|-
 +
| align="center"| указано
 +
| align="center"| да
 +
| Значение не сохраняется. Выводится локализованное предупреждение ООо.  
 +
Т.е. срабатывает ограничение на стороне клиента.
 +
 
 +
|-
 +
| align="center"| указано
 +
| align="center"| нет
 +
| Значение не сохраняется. Выводится предупреждение SQL-движка.
 +
Т.е. срабатывает ограничение на стороне сервера.
 +
 
 +
|}
  
* Если в DML указано NOT NULL, то при "требуется ввод данных - '''нет'''" и попытках записать пустое значение выводится ошибка SQL-движка. Т.е. проверка идет на стороне сервера.
 
 
<section end=answer/>
 
<section end=answer/>
  

Revision as of 20:17, 4 July 2010

Base. Формы


Template:RU/documentation/needsrework


В реляционных базах данных (RDBMS) поддерживается контроль целостности данных на уровне описания структуры таблиц (DML). В том числе, можно указать, какие поля не должны содержать неопределённые (NULL) значения[1]. Проверка этих условий осуществляется средствами самой RDBMS и не зависит от способа добавления/изменения данных (через форму, командную строку или файл сценария).

Однако, в ряде случаев, лучше проводить дополнительную проверку на стороне клиента, до отправки запроса к SQL-серверу.[2] [3]


В формах Apache OpenOffice у многих элементов управления (текстовые поля, поля форматированного ввода и других) в Свойствах элемента на закладке Данные есть пара свойств:

  • "пустая строка - NULL" да/нет,
  • "требуется ввод данных" да/нет.

Если первое свойство выставлено в значение "да", то активируется второе.

Между DML описанием таблицы и настройками элементов формы Apache OpenOffice существует следующая связь[4]:

DML,

NOT NULL

Форма,

"требуется ввод данных"

Результат попытки сохранить NULL значение в БД
не указано любое значение Значение сохраняется.

Настройки формы игнорируются.

указано да Значение не сохраняется. Выводится локализованное предупреждение ООо.

Т.е. срабатывает ограничение на стороне клиента.

указано нет Значение не сохраняется. Выводится предупреждение SQL-движка.

Т.е. срабатывает ограничение на стороне сервера.



Индекс: Base


Template:RU/documentation/signyear


Template:KbBaseBottom
Cite error: <ref> tags exist, but no <references/> tag was found

Personal tools