![]() |
|
Модераторы: LSD |
![]()
|
|
| magikanin |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 27.4.2007 Репутация: 1 Всего: 1 |
Здравствуйте !
Я студент и у меня курс "Оптимизация баз данных Оракл " . К сожалению самим базам данным Оракл нас не учили , поэтому приходиться разбираться самому с начала . Задание таково самому спроектировать базу данных и оптимизировать ее . Но для начала ее нужно создать . Моя база данных о режимном обьекте - например Атомная Электростаниция . и нужно замериать в какое время и в каком кабинете был работник . Создал базу так . ----------------------------------------------------------------------------------------------- echo on; drop table my_vremia; drop table my_zal; drop table my_rabotnik; create table my_zal ( Nr int not null , Nazvanije varchar2(32) not null , constraint zal_pk primary key(Nr) ); create sequence my_seq minvalue 1 start with 1 increment by 1 cache 20; create table my_rabotnik ( Nr_rabotnik int not null , Imia varchar2(12) not null , Familija varchar2(13) not null, constraint rabotnik_pk primary key(Nr_rabotnik) ); create sequence rab_seq minvalue 1 start with 1 increment by 1 cache 20; create table my_vremia ( Id int not null primary key, Vremia_prihoda timestamp (6) , Vremia_uhoda timestamp (6), rabotnik int not null, zal int not null, constraint vremia_fk_zal foreign key (zal) references my_zal(Nr) on delete cascade, constraint vremia_fk_rabotnik foreign key(rabotnik) references my_rabotnik(Nr_rabotnik) on delete cascade ); create sequence vremia_seq minvalue 1 start with 1 increment by 1 cache 20; --------------------------------------------------------------------------------------- Но вставить таблицу тестовыми данными не получаеться . ---------------------------------------------------------------------------------------- declare x varchar2(32); begin for i in 1..100 loop x := dbms_random.string('A',32); insert into my_zal(Nr,Nazvanije) values (my_seq.nextval,x); end loop; end; / declare var varchar2(12); pav varchar2(13); begin for i in 1..1000 loop var := dbms_random.string('A',12); pav := dbms_random.string('A',13); insert into my_rabotnik(Nr_rabotnik,Imia,Familija) values (darb_seq.nextval,var,pav); end loop; end; / -------------------------------------------------------------------------------------------- Эти две процедуры работают отлично . Но третья которая заполняет таблицу с внешними ключами не работает . Приведу ее код . begin for i in 1..1000 loop insert into my_vremia(Id,Vremia_prihoda,Vremia_uhoda,rabotnik,zal) values (laikas_seq.nextval,systimestamp,systimestamp,1,1); end loop; end; / Я в тупике - не могу решить эти проблему таблица не заполняеться . Для асов Оракла - наверное моя проблема смешна , но все когда то начиали учиться . Спасибо всем кто откликнеться и протянет руку помощи . Добавлено @ 11:57 Ошибку такую викидывает begin * ERROR at line 1: ORA-02291: integrity constraint (GALSER.LAIKAS_FK_DARBUOTOJAS) violated - parent key not found ORA-06512: at line 5 То есть с внешним ключом что то не то творю . Добавлено через 11 минут и 4 секунды То есть на русском языке ошибка так будет begin * ERROR at line 1: ORA-02291: integrity constraint (vremia_fk_rabotnik) violated - parent key not found ORA-06512: at line 5] Возможно кто то имеет примеры создания и заполнения простой базы данных , где таблица имеет внешние ключи ? И как по вашему заполнить эту базу данных данными около 10000 строк , ну чтобы можно было оптимизировать ? Это сообщение отредактировал(а) magikanin - 27.4.2007, 11:59 |
|||
|
||||
![]()
|
| Правила форума "Oracle" | |
|
|
Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Oracle | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |