Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » СУБД Oracle (Оракл - для поиска:)).

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

abv



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
oan42
 Кинул бы и ссылку заодно, где книги таких размеров ходят

Всего записей: 267 | Зарегистр. 23-08-2001 | Отправлено: 14:51 19-07-2006
slaj1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
abv
идешь в раздел "eBookz", так есть топик поиска технической или компьютеной литературы, там все это есть

Всего записей: 913 | Зарегистр. 23-06-2003 | Отправлено: 15:00 19-07-2006
Vov1ck

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения за ламерский вопрос. Приложенный к посту файл по сути является выводом на печать накладной. Одним этим репортом выводится три вида документов: приходная, расходная и накладная на перемещение. В макете лежат 4 шапки табличной части документа. Объясните мне, плизз, каким образом принимается решение о том какую из этих табличных частей выводить???
 
upd
Спасибо. Уже разобрался.

Всего записей: 18 | Зарегистр. 17-02-2005 | Отправлено: 15:27 27-10-2006 | Исправлено: Vov1ck, 17:44 27-10-2006
dene14



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Разъясните пожалуйста:
 
1. Для чего нужно (и нужно ли) сворачивать пакгеджи через Wrap Tool ?
2. На что влияет откомпилированность/неоткомпилированность процедур в базе (и в 1м и во 2м варианте они свою задачу выполняют), просто хотелось бы знать...
3. Какое обслуживание нужно проводить для базы ?

Всего записей: 287 | Зарегистр. 06-04-2005 | Отправлено: 10:33 16-11-2006
lYY

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
3. Бэкапить надо обязательно, anayize таблиц и индексов периодически делать - реально ускоряет работу (хотя зависит от данных), за свободным местом следить

Всего записей: 138 | Зарегистр. 22-07-2004 | Отправлено: 11:04 16-11-2006
pit23



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожалуйста подскажите:
 
Есть две таблицы главная и подчиненная. На главную ставлю Primery Key, а на подчиненную Foreign Key. Связь (один ко многим) между главной и подчиненной таблицей осуществляется по одному полю. Нужно обеспечить уникальность поля в подчиненной таблице не на уровне всей таблицы, а чтоб уникальность поля была на уровне уникальности ключа главной таблицы (т.е. в пределах одного уникального значения первичного ключа небыло повторяющихся значений поля подчиненной таблицы) . Можно это обеспечить на уровне базы (кстати использую Oracle 9i) ?
 
P.S. Извените если вопрос не соответствует теме ветки. Подскажите тогда в какую ветку лучше его задать.

Всего записей: 60 | Зарегистр. 04-03-2006 | Отправлено: 15:30 17-11-2006
lYY

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
create table1
(
 field1 number(10) primary key
)
 
create table2
(
 field1,
 field2,
 
CONSTRAINT c1  FOREIGN KEY (field1) REFERENCES table1(field1)
)
 
create unique index i1 on table2
( field1,
 field2)
 
Так чтоли?
 
(а ветка тут про все одна)

Всего записей: 138 | Зарегистр. 22-07-2004 | Отправлено: 16:22 17-11-2006
pit23



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lYY
 
Я создавал ключи после создания таблиц с помощью Enterprise Manager Console. У меня на работе Oracle 9i для винды.
Но похоже что так и я делал. Только я уникальный индекс (по твоему примеру) создавал только для одного поля Field2. Но в таком случае уникальность поля проверяется для всей таблицы.
Т.е. нужно создать индекс в подчиненной таблице на два поля: для внешнего ключа и поля по которому необходимо обеспечить уникальность про которую я писал, так ?
 
 
Добавлено:
Все уже проверил -- работает если создать уникальный индекс на два поля в подчиненной таблице. Спасибо огромное за помощь.

Всего записей: 60 | Зарегистр. 04-03-2006 | Отправлено: 16:38 17-11-2006
dene14



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Объясните, друзья, для чего вообще служат индексы и как делать переиндексацию таблиц (чтобы идентификатор начинался не с 1000 (из-за удаления) а с 1).

Всего записей: 287 | Зарегистр. 06-04-2005 | Отправлено: 18:04 21-11-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dene14
Это немного разные вопросы

Цитата:
Индекс (англ. index) — объект базы данных, создаваемый с целью повышения производительности выполнения запросов. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному значению путем последовательного просмотра таблицы строка за строкой может занимать много времени. Индекс формируется из значений одного или нескольких столбцов таблицы и указателей на соответствующие строки таблицы и, таким образом, позволяет находить нужную строку по заданному значению.

А по поводу
Цитата:
чтобы идентификатор начинался не с 1000 (из-за удаления) а с 1

Это, скорее всего, надо sequence сбросить в минимальное значение...

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 18:10 21-11-2006
oan42



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли не пересоздавая последовательность,  
с помощью alter sequence установить  lastnumber в 1,  
при этом оставив minvalue тоже 1 (а  не 0)?

Всего записей: 488 | Зарегистр. 03-08-2004 | Отправлено: 21:10 21-11-2006
lYY

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На сколько я знаю, чтобы обнулить sequence, ее надо пересоздать заново (по крайней мере в Oracle 8)

Всего записей: 138 | Зарегистр. 22-07-2004 | Отправлено: 08:04 22-11-2006
dene14



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну я так понимаю, если я секьюенсы посбрасываю, то оно конечно начнёт со значения "1", но ведь когда оно дойдёт до существующего значения 1000, просто будет писать поверх или я ошибаюсь?

Всего записей: 287 | Зарегистр. 06-04-2005 | Отправлено: 10:40 22-11-2006
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lYY
В 9-ке ничего не изменилось:
Цитата:
To restart the sequence at a different number, you must drop and re-create it.

dene14
Совершенно верно - сиквенс ничего не знает о значениях в таблице, поэтому после пересоздания обычно необходимо "догнать" ее до максимального значения, которое имеется в таблице (или создать с опцией START WITH)

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 10:50 22-11-2006
oan42



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lYY,vshersh

Код:
declare
  New_LAST_NUMBER integer := 1;
  increment_by integer;
begin
  execute immediate 'alter sequence SEXPRESS.AUTOINC_SEQ nocache';
  begin
    select New_LAST_NUMBER-1-SEXPRESS.AUTOINC_SEQ.nextval into increment_by from dual;
    if increment_by<>0 then
      execute immediate
      'alter sequence SEXPRESS.AUTOINC_SEQ minvalue 0 increment by '||increment_by;
      select SEXPRESS.AUTOINC_SEQ.nextval into increment_by from dual;
    end if;
  exception
     when others then
       null;
  end;
  execute immediate 'alter sequence SEXPRESS.AUTOINC_SEQ increment by 1 cache 10';
end;

Сделать значение>minvalue еще проще.
P.S.Как в сообщении форматирование кода сделать ?

Всего записей: 488 | Зарегистр. 03-08-2004 | Отправлено: 15:07 22-11-2006 | Исправлено: oan42, 15:08 22-11-2006
slaj1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dene14
поледовательности обычно используются для создания уникальных значений в конкретной таблице в конкретном поле, по этим же полям в таблице создается индекс для более быстрого поиска записей, так вот, если ты в последовательности сбросишь значения в 1, а потом опять дойдешь до существующих значений в таблице - то получишь исключение о том чтоо такое значение уже существует

Всего записей: 913 | Зарегистр. 23-06-2003 | Отправлено: 16:10 22-11-2006
turumpurum

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ламеру нужна помощь!
Хранилище данных. Таблица фактов(primary) и таблица измерений(foreign).
Для одного события, каждой строке ключа таблицы фактов должна соответствовать  
строка из таблицы измерений(ключи уникальные!). Как это сделать??
 
Хотел сгенерировать последовательность (*.nextval в подчинённой таблице, а затем  
*.currval в главной), так оказалось что sequence существует в пределах только  
одной сессии. Как это делают нормальные люди???
 
Добавлено:
Тут выше pit23 уже спрашивал о чём-то подобном, но у меня отношение один-к-одному. Тоесть два уникальных ключа, и значения последовательностей для таблиц должны совпадать.

Всего записей: 16 | Зарегистр. 30-11-2006 | Отправлено: 15:00 04-12-2006
filos

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я добавлю то что знаю про процедуры. Они хранятся в базе в откомпелированном виде. Если ты будешь из клиента выполнять запрос идентичный хранимой процедуре, то она будет выполнятся дольше, чем откомпилированная процедура. Я сам не спец в оракле, так что если что извиняйте...

Всего записей: 66 | Зарегистр. 25-07-2006 | Отправлено: 20:32 04-12-2006
lYY

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
так оказалось что sequence существует в пределах только  
одной сессии
- а вот про это поподробней

Всего записей: 138 | Зарегистр. 22-07-2004 | Отправлено: 09:45 08-12-2006
deadbitch



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Форумчане, как правильно качать с сайта оракла, я зарегистрировался в ОТН, при закачке ввожу имя пользователя и пароль, а далее получается качать только браузером -а у меня канал хлипкий, хотелось бы менеджером каким-нить качать, возвожно ли это?
 
PS: сорри если оффтоп, ткните носом куда писать...

Всего записей: 340 | Зарегистр. 13-01-2005 | Отправлено: 17:20 11-12-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » СУБД Oracle (Оракл - для поиска:)).


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru