|
|
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
mirЧисто для моего развития: какие бывают виды ссылочной целостности (и при чем здесь уникальность)? http://help.sap.com/ -SAP R/3 and R/3 Enterprise - SAP R/3 Enterprise Release 4.70 - нужный язык - искать foreign keys. Уникальность при том, что даже она (не говоря о foreign keys) поддерживается сервером приложеия а не СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 10:09 |
|
||
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
mir mcureenabЕсли данные изменены в обход СУБД и её механизмов защитыЭто как? Остановить сервис СУБД, открыть файл БД каким-то редактором? 1. Отключение механизмов защиты пользователем. 2. Сбой носителя. 3. Сбой экземпляра СУБД. 4. Холодное восстановление резервной копии. 5. Изменение файла БД посторонним редактором. 6. И прочая. .... Так что возможностей извлечь из БД кривые данные ничуть не меньше, чем получить их от пользователя. С точки зрения программы БД такой же внешний источник данных, как любой файл или устройство ввода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 13:31 |
|
||
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
mcureenab mir mcureenabЕсли данные изменены в обход СУБД и её механизмов защитыЭто как? Остановить сервис СУБД, открыть файл БД каким-то редактором?1. Отключение механизмов защиты пользователем. 2. Сбой носителя. 3. Сбой экземпляра СУБД. 4. Холодное восстановление резервной копии. 5. Изменение файла БД посторонним редактором. 6. И прочая. .... 1. Пользователь может просто взять и отключить защиту? Это мне напомнило плохие голливудские фильмы про хакеров, где при первом отлупе от ломаемой системы "хакер" просто-напросто вводит команду "обойти защиту" -- и готово. 2, 3 -- при чем здесь ввод данных в обход СУБД? 4. Восстановление бэкапа -- штатная операция -- никак не ввод данных в обход СУБД. 5. Вот про то ж я и говорил, но при работающей СУБД это невозможно (если СУБД нормальная). 6. А что прочая? mcureenabТак что возможностей извлечь из БД кривые данные ничуть не меньше, чем получить их от пользователя.Речь вроде шла об "изменении данных в обход СУБД и её механизмов защиты". При чем здесь извлечение? Простейший способ извлечь из БД кривые данные -- ошибочный запрос. Никакого "изменения файла БД посторонним редактором" тут и не нужно. mcureenabС точки зрения программы БД такой же внешний источник данных, как любой файл или устройство ввода.Это так, видимо, для создаваемых вами систем, где вы "не переусложняете базу ограничениями целостности". Уж простите. Для моих "переусложненных" баз извлекаемая из них информация уж существенно подостовернее будет, чем "любой файл или устройство ввода". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 08:51 |
|
||
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
mir mcureenab mir mcureenabЕсли данные изменены в обход СУБД и её механизмов защитыЭто как? Остановить сервис СУБД, открыть файл БД каким-то редактором?1. Отключение механизмов защиты пользователем. 2. Сбой носителя. 3. Сбой экземпляра СУБД. 4. Холодное восстановление резервной копии. 5. Изменение файла БД посторонним редактором. 6. И прочая. .... 1. Пользователь может просто взять и отключить защиту? Это мне напомнило плохие голливудские фильмы про хакеров, где при первом отлупе от ломаемой системы "хакер" просто-напросто вводит команду "обойти защиту" -- и готово. 2, 3 -- при чем здесь ввод данных в обход СУБД? 4. Восстановление бэкапа -- штатная операция -- никак не ввод данных в обход СУБД. 5. Вот про то ж я и говорил, но при работающей СУБД это невозможно (если СУБД нормальная). 6. А что прочая? 1. А разве нет? alter table x constraint y disable; От ошибок пользователя (DBA это тоже пользователь) никто не застрахован. 2,3 Ввод не при чём. Я говорю об изменении данных. Чтобы данные изменились их необязательно вводить. Сбой носителя может привести к искажению данных. Сбой экземпляра тоже. 4. Восстановление БД ситуация конечно штатная, но не факт, что после восстановления БД останется в целостном состоянии. 5. А кто запретит? Если СУБД не блокирует файл на запись (а нормальные СУБД этого не делают, хотя бы для того, чтобы работать в кластере), то посторонняя программа, например вирус, может изменять неблокированные части фала БД. 6. Сам придумай что нибудь в качестве упражнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 15:09 |
|
||
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
mir mcureenabТак что возможностей извлечь из БД кривые данные ничуть не меньше, чем получить их от пользователя.Речь вроде шла об "изменении данных в обход СУБД и её механизмов защиты". При чем здесь извлечение? Простейший способ извлечь из БД кривые данные -- ошибочный запрос. Никакого "изменения файла БД посторонним редактором" тут и не нужно. Данные становятся наблюдаемыми только после извлечения их из БД. До этого момента мы можем только догадываться об их наличии и содержании. К стати, во время извлечения данных не всякая СУБД проверяет их корректность. Я в лучшем случае видел функцию проверки контрольной суммы блока БД, и то её рекомендовали включать только при использовании ненадёжных носителей. Данные могут пострадать и во время передачи по сети. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 15:16 |
|
||
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
mir mcureenabС точки зрения программы БД такой же внешний источник данных, как любой файл или устройство ввода.Это так, видимо, для создаваемых вами систем, где вы "не переусложняете базу ограничениями целостности". Уж простите. Для моих "переусложненных" баз извлекаемая из них информация уж существенно подостовернее будет, чем "любой файл или устройство ввода". В больших тиражируемых системах очень сложно согласовать все постусловия и предусловия взаимодействующих модулей. В результате в БД могут появиться данные, которые тот или иной модуль обычным способом обработать не может. Кроме того, имея дело с открытыми СУБД, приходится считаться с тем, что пользователь может самостоятельно вносить изменения в БД. Конечно, это со стороны пользователя неправильно, однако спасать ситуацию приходится службе технической поддержки поставщика системы. Достоверность тут ни при чём. Целостные данные могут быть недостоверными. Достоверные данные могут не отвечать правилам целостности заложенным в систему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 15:35 |
|
||
|
Разное по смыслу содержание полей разнородных объектов в одной таблице
|
|||
|---|---|---|---|
|
#18+
Я утерял нить разговора. Если мы говорим о зоне ответственности СУБД, то повреждения носителей и т.п. здесь не вообще при чем. За физическую работоспособность СУБД отвечает аппаратура и персонал. При современных технологиях аппаратного резервирования и резервного копирования вероятность искажения данных по техническим причинам пренебрежимо мала по сравнению с другими причинами. Единственная вообще заслуживающая внимания причина нахождения в БД недостоверных данных очень проста -- эти данные в БД такими поступили. И нет никакой дилеммы, где должна происходить проверка целостности: в СУБД или в клиентском приложении. Она должна происходить и в СУБД, и в клиентском приложении. Но в СУБД -- обязательно, т.к. приложение обойти можно, а СУБД -- нельзя. Ну, а фраза "возможностей извлечь из БД кривые данные ничуть не меньше, чем получить их от пользователя" звучит для меня смехотворно. Много лет мы делаем импорт в БД данных, набитых когда-то пользователями в Excel. Уж я то насмотрелся, как пользователи вводят данные, когда их ничто жестко не контролирует. Пропуски там, где их быть не должно. Записи на одну и ту же дату, хотя такого быть не должно. Текстовые комментарии там, где должны быть числа. Об опечатках вообще можно не упоминать. СУБД, в которой заданы хотя бы основные ОЦ, такого принципиально не пропускает. Все это чистится, чиниться и тогда укладывается в базу. Поэтому не надо этих сказок, умоляю. (К слову, при порче БД СУБД вовсе не будет, ничего не подозревая, извлекать из БД неверные данные. С вероятностью 99.9% СУБД просто откажется работать с такой БД или ее поврежденной частью. Так же и маловероятно предположение о возможности при работающей СУБД внешней программой менять или даже читать из БД данные. Скажем, сервис MS SQL Server налагает эксклюзивный доступ к файлам БД, и ни одна программа не может этот файл даже читать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2007, 09:04 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34377819&tid=1544690]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 483ms |

| 0 / 0 |
