|
Эффективность, читабельность, сопровождаемость SQL кода
|
|||
---|---|---|---|
#18+
НеофитSQLОдна из инициатив в моей новой работе - посмотреть на целостность/качество данных по таблицам, и по их взаимосвязям, и поднять/удержать качество данных ночной автоматизацией. Целостность должна обеспечиваться ограничениями (так называемыми "constraints"), а не какой-то "профилактикой" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2020, 23:42 |
|
Эффективность, читабельность, сопровождаемость SQL кода
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Целостность должна обеспечиваться ограничениями (так называемыми "constraints"), а не какой-то "профилактикой" Конечно, это лучший вариант, и при проектировании новых систем этому важно уделять внимание, чтобы в будущем было меньше проблем. Пример как с 2/30 (месяц=2, день=30) слишком очевидный, где решение выразить дату через date лежит на поверхности. constraints решают очень многое, но не все. О некоторых constraints сразу не подумали, а сейчас перед тем как их включить, надо сначала привести данные в соответствие (собственно, что и есть одна из моих задач). Чтобы не быть голословным - допустим у нас есть таблица EMPLOYEES, содержащая поля employee_id и manager_id, таким образом позволяющая построить дерево организации. Как построить constraint, который запретит циклы и другие бяки в этом дереве? Кстати, вот получилась интересная задачка для рабочего интервью - как подтвердить топологическую правильность (дерево) таблицы EMPLOYEE за О(n). Бонус - как это сделать в чистом SQL, без PL/SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2020, 02:16 |
|
Эффективность, читабельность, сопровождаемость SQL кода
|
|||
---|---|---|---|
#18+
env НеофитSQL Код: plsql 1.
Как насчёт привести тогда уж и код функции, а если внутри неё используются системные оракловые, то срочно начать рыть доку в поисках условий распространения кода с их использованием? Мне нет необходимости это делать, хотя мне нравится ход ваших мыслей :) Суд в США постановил в 2010 году, что API не может быть копирайтед. Судебный процесс назывался Oracle vs. Google. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2020, 02:25 |
|
|
start [/forum/topic.php?fid=52&msg=39998590&tid=1880902]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 448ms |
0 / 0 |