Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.03.2012, 13:11
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Вопрос Вопросы по проектированию БД FB25

Вопросы по проектированию БД, подскажите, пожалуйста, что знаете:
Для какого кол-ва таблиц необходимо делать PrimaryKeys, ForeignKeys, Unique, Indecies? Например:
1) если таблица простой не редактируемый справочник вроде "валюты" или "типы документов" - нужны ли там PrimaryKey и проверка на уникальность названий? Нужны ли индексы?
2) если таблица является связью между двумя другими таблицами вида (T3_ID, T2_ID, T1_ID) нужно ли к двум другим делать ForeignKey? Нужно ли делать индексы?
3) насколько вообще часто имеет смысл делать ForeignKeys если политиками ролей, пользователей и интерфейсом уже невозможно удалить связанные данные?
4) в каких случаях имеет смысл создавать некие самодельные индексы отличающиеся от полей PK/FK/UNQ?
5) какое среднее соотношение таблиц/индексов? 1к4 нормально? или слишком много?
6) можно ли индексы называть в точности как называется поле по которому индекс работает? не создаст ли это ошибок? Индексы же вроде нигде в коде не запрашиваются по имени.

7) в FB/IBexpert можно создавать типы ошибок и выводимый текст, но для этого требуется создавать триггер, который будет перехватывать и показывать этот текст, может можно как-то заменить текст стандартных сообщений БД об ошибках? или как-то назначить на все попытки удаления связанных данных сразу ERR_MSG_1 ?
8) можно ли как-то заставить БД записывать автоматически timestamp при каждом Update записи (без дополнительных триггеров и процедур)? или может можно создавать некие триггеры на все одинаковые поля всей БД, которые бы сами обновляли их, без необходимости писать такой триггер для каждой таблицы?

9) как можно быстро перенести ХП из БД в тело программы? как правильно написать код FIBDataset.SelectSQL используя ХП из тела программы?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:47.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter