Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Help!! Скрипт / 12 сообщений из 12, страница 1 из 1
20.10.2007, 14:33
    #34882489
Федор Мих
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Добпый день! У меня такая проблема. Есть три таблицы:
1-ая(prodact). Id,group_id,prodact_id,.....,name
2-ая-связанная с 1(book_prodact) : id,name,book_prodact_type_id(id.book_prodact=prodact_id)
3-ая -связанная с 2(book_prodact_type)Id,name,...(book_prodact_type.id=book_prodact_type_id)
Эти таблицы в конечном этоги формируют осортимент: мясо-говядина-копченная-500г.-100рублей(к примеру).
Так вот,представим,что у нас добавляется новый раздел и надо внести около 1000 записей в базу.
Понятно,что можно и руками,но можно написать и скрипт. Если не сложно,то помогите,пожалуйста, как он будет выглядить.Спасибо.
...
Рейтинг: 0 / 0
20.10.2007, 23:31
    #34882795
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Сто пудов это будет цикл
...
Рейтинг: 0 / 0
20.10.2007, 23:47
    #34882804
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Федор Мих.
Прочитал Ваш крик души с тем же названием в форуме MS SQL. Данная задача возникла у Вас от того, что база спроектирована безграмотно.
...
Рейтинг: 0 / 0
21.10.2007, 01:03
    #34882855
Федор Мих
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Я понимаю Вас,но с этим мне надо работать...Так что,если можете,то помогите)
...
Рейтинг: 0 / 0
21.10.2007, 12:41
    #34883023
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Если невозможно перепроектировать базу, то тригеры на вставку в "старшие" таблицы могут добавить в "младшие" необходимые значения
...
Рейтинг: 0 / 0
21.10.2007, 12:57
    #34883030
Федор Мих
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Если не сложно,то можно показать на примере кода-так лучше понимаю.Спасибо.
...
Рейтинг: 0 / 0
21.10.2007, 13:02
    #34883032
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Во первых, не надо называть скриптами то, что принято называт запросами.

Насколько я понял, то у Вас есть некая таблица Мясо (МясоКод, Мясо) и таблица СколькоВеситьВГраммах (МясоКод, Граммы). При добавлении в таблицу Мясо новой записи, нужно что бы создались записи:

МясоКодПоследний, 100 грамм
МясоКодПоследний, 200 грамм
МясоКодПоследний, 1200 грамм

Это - возможное решение. В тригере на вставку в Мясо можно автоматом добавить во СколькоВеситьВГраммах весь набор, взятый из некоей эталонной таблицы

инсетр инто Мясо
сет @МясокодПоследний = @@идентити

инсерт инто СколькоВеситьВГраммах (МясоКод, Грамм) селект @МясокодПоследний, Граммы фром ЭталонныйСколькоВеситьВ граммах

Оно плохо тем, что при необходимости добавить всем новую весовую категорию, нужно добавлять во СколькоВеситьВГраммах кучу записей. Наверняка получится сильно разряженная таблица. Это не есть хорошо.

Нормальное решение: добавить промежуточную таблицу для реализации между Мясо и СколькоВеситьВГраммах отношения многие-ко многим.
...
Рейтинг: 0 / 0
21.10.2007, 13:10
    #34883035
Федор Мих
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Таблицы немного другова вида: 1-а(главная)... id...name.
1 мясо;копченое;100 грамм
2 мясо;копченое;,200 грамм
2-а(book).. id... name
1 мясо
2 копченое
3 100 грамм
4 200 грамм
3-а(type) id name
1 мясные
2 овощи
3 фрукты
...
Рейтинг: 0 / 0
21.10.2007, 14:06
    #34883077
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Честное слово, лень вникать, что Вы там накосячили.
Может кто другой сжалится. Я бы, может быть, помог перепректировать, если бы Вы озвучили саму задачу, а не то, что Вы сделали для ее решения. Нет условия задачи - нет решения. Задачи по проектированию НИКОГДА не бывают такого вида: "У меня есть таблицы 1, 2, 3 Как сделать, что бы это работало?". За этим - на форумы по серверам.
В Проектировании решается одна проблема : "Как сделать таблицы 1,2,3, 4, 5, 6 ...", что бы потом не надо было задавать вопросы на форумах по серверам.
...
Рейтинг: 0 / 0
21.10.2007, 14:17
    #34883081
Федор Мих
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Этой базе уже лет 10..она переходила из поколения в поколения... Поэтому перекраивать ее нельзя... Приходится с этим работать.. Спасибо и на этом
...
Рейтинг: 0 / 0
21.10.2007, 14:45
    #34883107
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Ну и как они без такого сервиса раньше обходились? 10 лет все работало, а тут вдруг понадобилось. Можеит надо документацию к базе почитать. Если она есть :)
Не верю. (с) Станиславский
...
Рейтинг: 0 / 0
21.10.2007, 19:24
    #34883325
Федор Мих
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help!! Скрипт
Писали insert-цыклы... Но сейчас нужно его опять написать))
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Help!! Скрипт / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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