Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MS SQL

  Все выпуски  

RFpro.ru: Базы данных MS SQL


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты по данной тематике

Коцюрбенко Алексей aka Жерар
Статус: Советник
Рейтинг: 3992
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 1788
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 1761
∙ повысить рейтинг »

/ КОМПЬЮТЕРЫ И СОФТ / Базы данных / MSSQL, Oracle, Interbase, Firebird, FoxPro

Номер выпуска:106
Дата выхода:02.03.2014, 00:59
Администратор рассылки:Филатов Евгений Геннадьевич (Профессионал)
Подписчиков / экспертов:36 / 20
Вопросов / ответов:1 / 1

Консультация # 187743: Здравствуйте! Прошу помощи в следующем вопросе: Подскажите как лучше организовать структуры БД. Имеются несколько устройств, далее они структурируются по типу, по параметрам, Сложность выжывает то, что для каждого устройства присущи свои параметры, получается что нужно для каждого типа устройств создавать отдельную таблицу или нет? Прилагаю ссылку...


Консультация # 187743:

Здравствуйте! Прошу помощи в следующем вопросе: Подскажите как лучше организовать структуры БД. Имеются несколько устройств, далее они структурируются по типу, по параметрам, Сложность выжывает то, что для каждого устройства присущи свои параметры, получается что нужно для каждого типа устройств создавать отдельную таблицу или нет? Прилагаю ссылку на файл excel, где примерно показана структура БД. А вот как разместить их потаблицам и сделать связи вызвало затруднение, БД планирую делать в акцессе, надеюсь поможите хоть чем-то. ФАЙЛ EXCEL

Дата отправки: 13.02.2014, 23:28
Вопрос задал: lexmod (Посетитель)
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Филатов Евгений Геннадьевич (Профессионал):

Здравствуйте, lexmod!

Можно в одной таблице хранить весь список в такой структуре

Ustr устройство и общие характеристики для всех
Kod счетчик код устройства
Name строка ( 50 ) наименование устройства
Tip=Tip.Kod целое тип устройства из справочника
Firm целое фирма из справочника
Photo целое фото из таблицы фотографий
Video целое видео из таблицы видео
Opis целое описание из таблицы описаний
Instr целое инструкция из таблицы инструкций
здесь хранятся общие данные для всех устройств.

Остальные справочники используются для характеристики и других устройств
Firm справочник фирм
Kod счетчик
Name строка ( 50 ) наименование
Adres строка ( 200 ) адрес в интернете

Photo справочник фотографий
Kod счетчик
Adres строка ( 200 ) путь к файлу фотографии. для нескольких устройств можно использовать одно фото

Video
Kod счетчик
Adres строка ( 200 ) путь к файлу видео

Opis
Kod счетчик
Adres строка ( 200 ) путь к файлу описания

Instr
Kod счетчик
Adres строка ( 200 ) путь к файлу инструкции

таблица устройств
Tip справочник устройств
Kod счетчик
Name строка ( 50 )
Tabl строка ( 20 ) имя таблицы, в которой хранятся уникальные характеристики устройств
Req строка ( 250 ) текст запроса для вывода характеристик


пример заполнения этой таблицы
Tip.Kod=1
Tip.Name="Компьютеры"
Tip.Tabl="Comp"
Req значение приведу ниже

Comp таблица устройств "компьютеры"
Kod=Ustr.Kod целое
Tip=Comp_Tip.Kod целое тип компьютера
Ekran дробное размер экрана
CPU=Comp_CPUцелое тип процессора
и т.д.

Comp_Tip справочник типов компьютеров
Kod счетчик
Name строка ( 50 ) моноблок, обычный и т.п.

Comp_CPU сравочник типов процессора
Kod счетчик
Name строка ( 50 ) Intel Pentium G2020
CP целое к оличество ядер 2
Freq целое частота в МГц 2900
и др.

получается, что дополнительно для вывода характеристик нужно еще хранить запрос типа
select ct.name as [Наименование],c.ekran as [Размер экрана, дюймов],ccpu.name as [Процессор], ccpu.cp as [Количество ядер] …
from ( comp c inner join comp_tip ct on ct.kod=c.tip ) inner join comp_cpu ccpu on ccpu.kod=c.cpu
where c.kod= ustr.kod ( значение подставляется из переменной или поля другой таблицы)
и выводить данные в подтаблице, причем для различных устройств будет разное количество полей. заголовки для столбцов можно взять из названия полей.

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

Если будут еще вопросы - пишите senoj@mail.ru

С уважением.

Консультировал: Филатов Евгений Геннадьевич (Профессионал)
Дата отправки: 24.02.2014, 11:07
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка  |  восстановить логин/пароль

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!



В избранное