Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База данных для договоров / 24 сообщений из 24, страница 1 из 1
14.05.2014, 15:06
    #38641114
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Добрый день всем! У меня есть БД на базе access и сейчас читаю умные книжки и хочу переезжать на mysql сервер. При переезде хочу немного отредактировать таблицы БД и добавить новый функционал. В данный момен у меня стопор по листу согласования договора, знаний не хватает как это реализовать. Как я хочу сделать:
1. Таблица с пользователями Ф.И.О. электронный адрес и т.п. где отмечается пользователь галочкой который должен согласовывать этот договор
2. Таблица реквизитами договора Номер дата и т.п.

Вопрос как сделать связь между двумя этими таблицами что бы было видно что определенный человек согласовал определенный договор. Думал сделать это решение каким то образом копируя данные в третью таблицу т.е. номер договора и напротив человек согласовант. Только как это сделать не знаю, может кто то предложит вариант или решение буду признателен. Базы самой еще нет она только на планшете нарисована схемой поэтому приложить нечего.

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
14.05.2014, 15:13
    #38641123
Sergey Sizov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiKхочу переезжать на mysql сервер.Для начала определитесь с сервером. Тут обсуждается MS SQL сервер.
...
Рейтинг: 0 / 0
14.05.2014, 15:14
    #38641126
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Прошу прощения сервер MS SQL по ошибке написал не то.
...
Рейтинг: 0 / 0
14.05.2014, 15:55
    #38641195
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Недопустимо упрощенный подход к задаче.

Согласовывают не ФИО а должностные лица, занимающие определенные позиции в оргструктуре компании.
Договора бывают разные. Каждый тип договора может предусматривать свой типовой лист (маршрут) согласования.
Может потребоваться добавлять произвольных должностных лиц к типовому листу согласования.
Порядок согласования также может иметь значения.
Согласование денежных договоров может зависить от суммы - для каждого диапазона сумм может быть свой согласующий (ранг должности).

Вопщем надо
Штатную структуру
Полномочия должностей
Классификатор договоров
Типовые листы (маршруты)
Регистрация прохождения согласования
...

Сам делал динамическую генерацию текстовок документов + выгонку в ворд со всеми красивостями + классификатор видов детятельности + согласование по видам деятельности + лимиты на согласование денежных договоров по видам деятельности.
Все взаимоувязано. Несколько десятков таблиц.
...
Рейтинг: 0 / 0
14.05.2014, 15:58
    #38641202
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
П-Л,

Договорник сам решает кого включить в лист согласования, т.е. ставит галочку напротив определенного человека.
...
Рейтинг: 0 / 0
14.05.2014, 16:16
    #38641227
П-Л
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
П-ЛНедопустимо упрощенный подход к задаче.
...
Рейтинг: 0 / 0
14.05.2014, 16:24
    #38641243
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
П-Л,

Почему? Тем более к штатке привязываться опасно, её постоянно меняют у нас.
...
Рейтинг: 0 / 0
14.05.2014, 16:33
    #38641258
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
П-Л,

К связи таблиц вопрос "по каким правилам надо выбирать согласователя?" в любом случае отношения не имеет.

TC - если у договора всегда не более одного согласователя - делаете в таблице договоров внешний ключ на таблицу пользователей.
...
Рейтинг: 0 / 0
14.05.2014, 16:51
    #38641297
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Кот Матроскин,

Более, и это количество плавающее в среднем около 9 человек согласовантов
...
Рейтинг: 0 / 0
15.05.2014, 12:08
    #38642043
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Никто не делал что то подобного?
...
Рейтинг: 0 / 0
15.05.2014, 12:35
    #38642087
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiK,

Если согласователей несколько - делаете дополнительную таблицу (ДоговорID, ЮзерID, Номер(поционально, если важен порядок согласователей)).
...
Рейтинг: 0 / 0
15.05.2014, 12:35
    #38642088
DirksDR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiK,

Добавь третью таблицу:
Лист_согласования(ид_ЛС, номер_договора, ид_пользователя, галочка)
...
Рейтинг: 0 / 0
15.05.2014, 12:55
    #38642132
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Кот Матроскин,

А как сделать что бы копировались туда ID?
Например есть в карточке заполнения кнопка согласующие при нажатии которой выскакивает список где отмечается галочками кто должен согласовать, тут я поняло надо делать через insert. А вот как сделать что бы копировался ID договора к скопированным согласовантам?
...
Рейтинг: 0 / 0
15.05.2014, 13:00
    #38642138
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiK,

Конечно это Вам надо делать с помощью команды Insert - соответствующим образом ее составив. Не освсем понимаю Ваш вопрос - Вы не знаете, как в текст команды Insert подставить значение номера договора (который у Вас вероятно хранится в какой-то переменной на форме)?
...
Рейтинг: 0 / 0
15.05.2014, 13:18
    #38642158
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiK,

мое видение схемы

1. Таблица реквизитами договора (ид1с,Номер дата и т.п.......)1
2, состав договора (ид2с,ид1,наименование этапа..............)
3. Таблица должностных лиц (ид3с,фио,должность,электронный адрес........)
4. лист подписей (ид4с,ид1,ид3,дата согласования,примечание)
...
Рейтинг: 0 / 0
15.05.2014, 14:10
    #38642230
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Кот Матроскин,

Я конечно не знаю всех особенностей работы ms sql и не могу понять как программа поймет что вот отмеченные согласованты именно к этому договору
...
Рейтинг: 0 / 0
15.05.2014, 14:16
    #38642237
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
ПЕНСИОНЕРКА,

Это я так и хочу сделать:
Таблица1 Таблица2 Таблица №3
1 |Договор №1 1. |Согласовант 1 | 1. |Договор 1 |Согласовант 1
2 |Договор №2 2. |Согласовант 2 | 2. |Договор 1 |Согласовант 2
3 |Договор №3 3. |Согласовант 3 | 3. |Договор 3 |Согласовант 1
4. |Договор 2 |Согласовант 3

Как составить запрос на основе insert что бы получилась таблица 3?
...
Рейтинг: 0 / 0
15.05.2014, 14:17
    #38642239
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
блин в кучу слепил их движок форума
...
Рейтинг: 0 / 0
15.05.2014, 14:29
    #38642262
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiKКот Матроскин,

Я конечно не знаю всех особенностей работы ms sql и не могу понять как программа поймет что вот отмеченные согласованты именно к этому договору

какая программа? Мне кажется, у Вас наличествует непонимание технологии "клиент-сервер". MSSQL -сервер, ему абсолютно
неважно, как, что и где у Вас отмечено - он принимает набор команд insert с соответствующими ID и на их основании делает вставки в таблицу
Составить эти команды (на основании галочек или чего еще) - задача клиента.
...
Рейтинг: 0 / 0
15.05.2014, 14:52
    #38642316
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
Кот Матроскин,

Как insert поймет что именно договор №1 надо скопировать с Согласовант №1 и Согласовант №3 например
...
Рейтинг: 0 / 0
15.05.2014, 16:00
    #38642462
DirksDR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiKНапример есть в карточке заполнения кнопка согласующие при нажатии которой выскакивает список где отмечается галочками кто должен согласовать, тут я поняло надо делать через insert. А вот как сделать что бы копировался ID договора к скопированным согласовантам?
Сначала сохранить карточку договора в таблицу договоров.
Потом прочитать карточку договора уже с ID договора.
Потом выбрать согласовантов и ввести в таблицу Лист_согласований insert-ами (ID договора, ID-согласованта и т.д.)
...
Рейтинг: 0 / 0
15.05.2014, 18:39
    #38642701
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
DirksDR,

Не совсем конечно пока понимаю как это будет выглядеть, ну да ладно, уже когда столкнусь в самом ms sql буду пробовать
...
Рейтинг: 0 / 0
15.05.2014, 21:13
    #38642785
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
NooBAsTiK,

Таблица1Таблица2 Таблица №31 |Договор №1 1. |Согласовант 1 | 1. |Договор 1 |Согласовант 12 |Договор №2 2. |Согласовант 2 | 2. |Договор 1 |Согласовант 23 |Договор №3 3. |Согласовант 3 | 3. |Договор 3 |Согласовант 14. |Договор 2 |Согласовант 3
...
Рейтинг: 0 / 0
16.05.2014, 12:36
    #38643311
NooBAsTiK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
База данных для договоров
ПЕНСИОНЕРКА,

Да я не про таблицы, а про сам запрос
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База данных для договоров / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]