Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
truncate таблицы с FK
|
|||
|---|---|---|---|
|
#18+
К сожалению не знаю, что говорит стандарт по поводу Trancate таблицы, на которую есть FK references. ASA9 не дает сделать эту операцию, т.е надо либо предварительно удалить сами FK у ссылающихся таблиц, либо delete from ..., где FK должен быть ON DELETE CASCADE. Раньше я в своих небольших базках не использовал FK, работая с данными только через ХП. Сейчас решил встать на путь истинный, но возникают такие вот мелкие неудобства. Вопрос к практикам: 1. в скрипте создания БД приходится учитывать порядок создания таблиц. Если пользоваться инструментами типа PowerDesigner (я им не пользовался серьезно), то корректно ли он разруливает эти зависимости и создает правильный скрипт БД из модели? 2. PK, FK можно создавать непосредственно в CREATE TABLE либо создавать отдельно через ALTER TABLE. Какой из методов удобнее оказывается на практике, при условии что БД находится в стадии разработки, будет часто меняться/патчится/ перезаливаться/выгружаться данные? 3. Каке есть еще есть моменты, на которые следует обратить внимание? Спасибо. все наши на www.corba.kubsu.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 12:30 |
|
||
|
truncate таблицы с FK
|
|||
|---|---|---|---|
|
#18+
Приветик. С наступившим :) По сабжу: 1. Обычно скрипт создания БД сначала создает таблицы, потом в них заливаются данные, потом уже навешиваются FK. Так делает утилита перезагрузки БД в ASA, так делает скорее всего и PD. 2. По моему без разницы, как навешивать PK и FK. Однако для пункта 1 естественно все будет идти через ALTER TABLE. 3. Моментов всегда много, но возникают они при непосредственной разработке задачи по конкретному ТЗ, из головы вряд ли что то можно посоветовать :) К примеру чтобы обнулить все таблицы в БД не спотыкаясь об FK достаточно взять их зависимости из системных таблиц и построить их правильный порядок обнуления и заполнения (примеры есть в FAQ). Чтобы апдейтить и синхронизировать БД, не обязательно использовать PD, вполне достаточно использовать Central/ISQL и логировать все изменения на SQL-скриптах ручками или поднимая их из лог-файла, фильтруя по логинам разработчиков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 17:52 |
|
||
|
truncate таблицы с FK
|
|||
|---|---|---|---|
|
#18+
2) Если вопрос стоит в каком виде хранить команды в скриптах пересоздания базы во время разработки структуры базы, то я бы сказал что alter table ... constraint использовать лучше. Тогда если вдруг появится нужда в добавлении/изменении какого либо из принуждений не нужно будет заново набивать таблицу тестовыми данными. И не совсем в тему вопроса, или к третему вопросу? :) Просто я как раз на прошлой неделе возился со слияним двух баз с кучей связей на внешних ключах. Пришел в итоге вот к такому батничку, может кому пригодится. Батник расчитан на Win2000 и ASA9. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2006, 18:53 |
|
||
|
|

start [/forum/topic.php?fid=55&tid=2013149]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 377ms |

| 0 / 0 |
