Удаляемая запись - Большая Энциклопедия Нефти и Газа, статья, страница 2
Если у вас есть трудная задача, отдайте ее ленивому. Он найдет более легкий способ выполнить ее. Законы Мерфи (еще...)

Удаляемая запись

Cтраница 2


Если удаляемая запись является владельцем непустых наборов, то должно быть специфицировано одно из необязательных слов. При указании слова PERMANENT разрушаются все наборы, владельцем которых является удаляемая запись, их обязательные члены удаляются из БД. При указании слова SELECTIVE удаляются также все необязательные члены разрушаемых наборов, кроме тех, что являются членами других наборов. При указании слова ALL удаляются все члены разрушаемых наборов. К каждой записи, удаляемой из БД при разрушении набора, применяется оператор ERASE используемого формата.  [16]

В конечном итоге база данных разрастается настолько, что возникает необходимость навести порядок и избавиться от лишней информации. Можно удалить записи вручную, просматривая их одну задругой, но, если удаляемые записи имеют нечто общее, лучше воспользоваться запросом на удаление и избавиться от всех сразу.  [17]

Аналогично перестраивается цепь и при удалении записи из файла. Однако в этом случае изменение цепи может быть отложено до ближайшей периодической реорганизации файла; необходимо только как-то пометить удаляемую запись. Из примера на рис. 26.1 можно сделать неверный вывод о том, что изменение цепи не представляет большого труда, поскольку для поиска нужной цепи ЭВМ просматривает небольшое число записей. На самом же деле этот просмотр может оказаться весьма трудоемким, так как в некоторых системах звенья одной цепи находятся на значительных расстояниях друг от друга.  [18]

19 Установить цену 0 76 на салат, продаваемый компанией Солнечная продукция. [19]

Она применима даже тогда, когда текущая запись процесса является владельцем некоторых непустых экземпляров наборов. Оператор DELETE ALL не только позволяет удалить текущую запись процесса, как это делает ранее указанный оператор DELETE, но и рекурсивно применяется к любым членам экземпляров наборов, владельцами которых служит удаляемая запись. Таким образом, возможен случай, когда оператор DELETE ALL разрушает всю базу данных.  [20]

При удалении из базы данных записи, которая имеет связи с другими записями, эти связи должны быть разрушены. Удаление записи может инициировать дополнительные действия СУБД, характер которых зависит от типа членства. Если удаляемая запись является владельцем набора, содержащего фиксированные члены, то эти члены также удаляются СУБД из базы данных, что вполне логично, поскольку записи с таким типом членства не могут существовать вне связи с удаляемым владельцем. При удалении владельца набора, содержащего записи с необязательным членством, эти записи перестают быть членом набора соответствующего типа, но остаются в базе данных. Характер действий, которые должны выполняться как следствие удаления владельца записи с обязательным членством, не столь очевиден.  [21]

Оператор ERASE ( СТЕРЕТЬ) удаляет из базы данных экземпляр - записи, соответствующий индикатору текущая запись процесса. Перед его выполнением требуется с помощью оператора FIND определить наличие соответствующего экземпляра записи в БД. Однако если удаляемая запись является записью - владельцем некоторого непустого набора, то удаление не выполняется, а вырабатывается код соответствующего исключительного состояния.  [22]

Эта операция является общераспространенной, однако ее достаточно сложно реализовать. Простой подход состоит в том, что вместо удаляемой записи в файле остается пустое место. Считается, что данные в такой области отсутствуют. Однако в этом случае необходимо разработать код, который корректно обслуживал бы подобные части файла. Альтернативный способ состоит в создании копии файла, в котором отсутствует удаленная запись. После этого изначальный файл заменяется копией. Оба варианта достаточно сложно реализовать, поэтому я решил отказаться от реализации операции удаления записи.  [23]

Установим в О бит заполнен - свободен для ее субблока. Однако в том случае, когда могут существовал; указатели на удаляемую запись ( см. разд.  [24]

При использовании любого метода распределения свободной памяти существует вероятность того, что в момент возвращения блока в свободную память дисплей еще выполняет команды, содержащиеся в этом блоке. Хотя блок больше не используется центральным процес-сором. Если блок будет вновь использован в тот момент, когда дисплейный процессор еще обрабатывает записанное в нем изображение, дисплейный файл может оказаться испорченным и дисплей выйдет из-под контроля. Один из путей разрешения этой трудности заключается в приостановке обработки дисплейным процессором удаляемой записи и возобновлении вывода со следующей записи. Однако это может привести к раздражающим перерывам регенерации, если одна и та же запись обновляется с большой частотой. Более правильно задержать использование свободной памяти до того момента, когда его можно производить без всякого риска. Это можно сделать в конце цикла регенерации, поместив блок в список резерва свободной памяти.  [25]

Далее можно просто сделать субблок, содержащий данную запись, свободным, установив в нуль бит заполнен / свободен в его заголовке. При этом субблок становится доступным для повторного использования. Однако при наличии указателей на запись мы не должны допускать повторного заполнения субблока, поскольку зависший указатель может далее ошибочно указывать на новую запись. В этом случае бит заполнен / свободен для удаляемой записи нужно оставить в состоянии 1, и тогда субблок не может быть повторно заполнен. В то же время бит удаления в самой записи устанавливаем в 1, указывая, что запись была удалена. Если теперь, следуя по некоторому указателю, мы обнаружим удаленную запись, то будет ясно, что этот указатель завис. Такой указатель может быть либо удален, либо установлен в неопределенное значение.  [26]

Объектом манипулирования в СУБД СЕТЬ является запись. С помощью операторов ЯМД выполняется размещение записи в БД, ее поиск, чтение, модификация, включение в набор или исключение из набора, удаление записи из базы данных. Если запись объявлена автоматическим членом каких-либо наборов, то сразу при помещении ее в базу она автоматически включается в эти наборы. Если запись удаляется из БД, то она исключается из всех наборов, членом которых была. При этом также разрушаются все наборы, в которых удаляемая запись была владельцем.  [27]

Наиболее очевидный подход к хранению записей файлов заключается в последователъном - размещении их в необходимом числе блоков, хотя обычно не допускается, чтобы записи перекрывали границы блоков. Эту организацию называют кучей в тех случаях, когда ее необходимо как-то назвать. Блоки, используемые для кучи, могут быть связаны указателями. При другом подходе предусматривается хранение таблицы их адресов. Для этой цели может применяться, в частности, один или более дополнительных блоков. Чтобы включить запись, ее необходимо поместить в последний блок, если в нем имеется место, или получить новый блок, если места больше нет. Удаления могут осуществляться установкой бита удаления в удаляемой записи. Повторное использование пространства удаленных записей для хранения вновь включаемых на их место записей является опасным, если существуют указатели на записи.  [28]

Во-первых, восстановить удаленные записи не так-то просто. Во-вторых, удаление может оказаться более обширным, чем вы рассчитывали. Если таблица, из которой удаляются записи, связана с другой таблицей и задан параметр Каскадное удаление связанных записей ( Cascade Delete Related Records), записи во второй таблице также будут удалены. В одних случаях это оправдано, в других - нет. Например, едва ли вы захотите удалить записи о прошлых продажах только потому, что нужно удалить товары, на которые боль-шенетспроса. Существуютдваспособарешенияэтойпроблемы: сохранить резервную копию базы данных, прежде чем удалять записи, или переместить удаляемые записи в специально созданную для этих целей таблицу.  [29]



Страницы:      1    2