|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.11.2008, 15:14 | #1 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
Помогите с задачей (InterBase в Delphi)
Атрибуты: fio - Фамилия и Инициалы.god - Год рождения. dolgn - Должность. o_dolgn - Оклад по должности. stag - Стаж работы. d_stag - Надбавка за стаж(свыше 5, 10, 15, 20, 25, 30, 35, 40 лет). u_zvan - Ученое звание (доцент, снс, мнс). d_zvan - Надбавка за ученое звание. zvanie - Воинское звание (лейтенант, ст. лейтенант, капитан, майор, подполковник, полковник). d_zvanie - Надбавка за воинское звание. Примечание: Интересовался у преподавателя "нужно ли разбивать эти атрибуты на разные таблицы", его ответ "да конечно нужно!". Задание:
|
19.11.2008, 15:22 | #2 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Чем конкретно помочь то?
|
19.11.2008, 15:25 | #3 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
|
19.11.2008, 15:33 | #4 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Не много ли? БД разбить на таблички можно так
Таблица сотрудник: 1. fio - Фамилия и Инициалы. 2. god - Год рождения. 3. dolgn - ФК на таблицу Должности 4. o_dolgn - Оклад по должности. 5. stag - Стаж работы. 6. d_stag - Надбавка за стаж(свыше 5, 10, 15, 20, 25, 30, 35, 40 лет). 7. u_zvan - ФК на таблицу Ученое звание 8. d_zvan - Надбавка за ученое звание. 9. zvanie - ФК на таблицу воинское звание 10. d_zvanie - Надбавка за воинское звание. Таблица Должности: 1. ID 2. Наименование 3. Вес должности Таблица Ученое звание: 1. ID 2. Наименование Таблица Воинское звание: 1. ID 2. Наименование воиского звания |
19.11.2008, 16:26 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Не соглашусь.
Вот структура таблиц: - сотрудники 1. Id - идентификатор записи 2. fio - Фамилия и Инициалы. 3. god - Год рождения. 4. Id_dolgn - ссылка на идентификатор записи в таблице должностей. 5. Id_stag - ссылка на идентификатор записи в таблице надбавок за стаж. 6. Id_u_zvan - ссылка на идентификатор записи в таблице ученых званий. 7. Id_zvanie - ссылка на идентификатор записи в таблице воинских званий. - таблица должностей: 1. Id_dolgn - идентификатор записи 2. dolgn - наименование должности по штату 3. o_dolgn - должностной оклад. - таблица надбавок за стаж: 1. Id_stag - идентификатор записи 2. stag - величина стажа (5, 10, 15, 20, 25, 30, 35, 40 лет). 3. d_stag - надбавка за стаж - таблица ученых званий: 1. Id_u_zvan - идентификатор записи 2. u_zvan - наименования ученых званий (доцент, снс, мнс...). 3. d_u_zvan - уровень надбавки за ученое звание в %. - таблица воинских званий: 1. Id_v_zvan - идентификатор записи 2. v_zvan - наименования воинских званий (лейтенант, ст. лейтенант, капитан, майор, подполковник, полковник...). 3. d_v_zvan - уровень надбавки за воинское звание в %. |
22.11.2008, 11:35 | #6 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
1. Спроектировать БД в соответствии со своим списком атрибутов.
2. Создать БД. 3. Занести в нее данные. С этим разобрались... Парни а как теперь поступить: 4. Организовать постоянные связи между таблицами для обеспечения целостности БД при удалении, добавлении, изменении данных. А?? Помогите плиз!!!! |
22.11.2008, 20:09 | #7 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
|
|
24.12.2008, 16:36 | #8 |
Пользователь Подтвердите свой е-майл
Регистрация: 03.01.2008
Сообщений: 49
|
//Главная
create table sotrudniki( Id integer not null primary key, Id_dolgn integer not null, Id_stag integer not null, Id_u_zvan integer not null, Id_zvanie integer not null, fio varchar(50) not null, god date not null, primary key (Id, Id_dolgn, Id_stag, Id_u_zvan, Id_zvanie)); //Второстипенные create table Dolgn( Id_dolgn integer not null, dolgn varchar(20), o_dolgn integer, constraint Ogr_Dolgn foreign key (Id_dolgn) references sotrudniki (Id_dolgn)); create table Stag( Id_stag integer not null, stag varchar(30), d_stag integer check( d_stag=5 OR d_stag=10 OR d_stag=15 OR d_stag=20 OR d_stag=25 OR d_stag=30 OR d_stag=35 OR d_stag=40), constraint Ogr_Stag foreign key (Id_stag) references sotrudniki (Id_stag)); create table Zvaniya( Id_u_zvan integer not null, d_u_zvan integer not null, u_zvan varchar(6), constraint Ogr_Po_U_zvaniyam check((u_zvan='Доцент') OR (u_zvan='снс') OR (u_zvan='мнс')), constraint Ogr_Zvaniya foreign key (Id_u_zvan) references sotrudniki (Id_u_zvan)); create table V_Zvaniya( Id_v_zvan integer not null, d_v_zvan integer not null, v_zvan varchar(15), constraint Ogr_Po_V_zvaniyam check( (v_zvan='Лейтенант') OR (v_zvan='Старший лейтинант')OR (v_zvan='Капитан') OR (v_zvan='Майор') OR (v_zvan='Подполковник') OR (v_zvan='Полковник')), constraint Ogr_V_Zvaniya foreign key (Id_v_zvan) references sotrudniki (Id_v_zvan)); //При попытке запустить код "Второстипенные" Пишет ошибку: Unsuccessful metadata update could not find UNIQUE INDEX with specified columns Statement: create table Dolgn( Id_dolgn integer not null, dolgn varchar(20), o_dolgn integer, constraint Ogr_Dolgn foreign key (Id_dolgn) references sotrudniki (Id_dolgn)) --------- В чем проблема? что-то я не соображаю |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите с задачей на Delphi | Ленивица | Помощь студентам | 3 | 03.11.2008 19:32 |
Помогите Delphi + Interbase | tarakan1983 | Помощь студентам | 1 | 01.11.2008 11:55 |
Помогите с задачей по Delphi | Asterix | Фриланс | 4 | 24.04.2008 20:11 |
помогите с задачей на Delphi | Soilwork | Помощь студентам | 7 | 23.04.2008 19:07 |
помогите с задачей на Delphi | lyonya0111 | Помощь студентам | 11 | 22.04.2008 17:35 |