= Принципи БД = {{{ #!access #allow(TRAC_ADMIN) * [#point1 Таблиці] * [#point2 Процедури] Правила, за якими іменуються елементи бази даних, дозволяють швидко зорієнтуватись в її структурі. Також це дозволяє встановити зв'язок між елементами бази та елементами інтерфейсу системи просто поглянувши на назву. Деякі елементи не відповідають зазначеним принципам, через історичні моменти, адже правила виникали поступово. == [=#point1]Таблиці == * імена таблиць починаються з префікса ''t_''; * подальша назва задається англійською мовою у множині; * назва ключового поля є назвою таблиці в однині без префікса + закінчення ''_id''; * назва основного поля з назвою, як правило, ''name'', хоча це не принципово; Наприклад: таблиця ''t_nomens'' і ключ ''nomen_id''. == [=#point2]Процедури == Назви процедур формуються з префіксу, назви та закінчення. Саме закінчення відображає призначення процедури. Закінчення: * '''_info''' - додаткова інформація, що відображається в правій частині відповідного довідника для поточного запису. Єдиний вихідний параметр ''odescript'' містить рядки, що формують опис в форматі html. * '''s_view''' - процедура, що видає записи таблиці, наприклад довідника. * '''_view''' - процедура, що має ті само поля, що і відповідна ''s_view'' процедура. Викликається при оновленні одного запису в довідниках. * '''_detail''' - процедура, що видає детальну інформацію про поточний запис у нижній частині довідника. * '''_clone''' - процедура клонування записів довідника. Повертає ціле значення, що відповідає ідентифікатору новоствореного запису. * '''_unite_list''' - повертає перелік можливих об'єднань. Поля: ''id'' - ідентифікатор запису для злиття, ''name'' - найменування запису, ''status'' - текст помилки, злиття неможливе. * '''_unite''' - процедура, яка буде виконана для кожного запису, для якого можливе злиття. Містить два вхідних параметра: ''src_id'' - ідентифікатор запису джерела, що буде знищений, після передачі даних, та ''dst_id'' - ідентифікатор запису приймача, який отримає дані від ''src_id'' і залишиться. }}}