Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
#1

Ортогональная таблица - C++

10.02.2010, 11:02. Просмотров 841. Ответов 8
Метки нет (Все метки)

Есть таблица БД с композитным возможным ключом из двух полей, двух композитных сущностей, или обычного поля и композитной сущности. Надо значениям одного из этих полей/композитов сопоставить столбцы экранной таблицы, а значение второго поля пусть соответствуют строкам и подписать строки/столбцы в заголовочных столбцах/строках соответствующими значениями полей (только обычных, если столбцам соответствуют значения композита, то все его поля вывести в равное число заголовочных строк). Вход - TADOTable/TADOQuery или их аналоги. Как сделать компонент, инкапсулирующий всё, что нужно для решения этой задачи?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.02.2010, 11:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ортогональная таблица (C++):

Таблица битовых переходов - C++
Доброго времени суток! Появилась необходимость замены битовых комбинаций по заранее сгенерированным правилам. Суть проблемы такова: имеется...

Таблица символов для компилятора - C++
Делаю простой компилятор и что-то зависла на вопросе о том, как хорошо реализовать таблицу символов. Реализовать в виде класса, где в...

Хеш-таблица (контрольная работа) - C++
Привет! Не думал, что обращусь за помощью, но похоже я переоценил свои возможности. Суть - у меня сейчас сессия (учусь заочно) и я, как...

Не заполняется таблица - C++ Builder
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include...

Электронная таблица на C++ - C++ Builder
ПОМОГИТЕ ПОЖАЛУЙСТА!!!!!!!! Нужно создать электронную таблицу ( по типу Exсel ) на С++

Турнирная таблица - C++ Builder
Здравствуйте! Есть StringGrid (C++ Builder ) в него вносятся названия команд и счет игры. Теперь нужно отсортировать их в соответствии с...

8
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,464
Записей в блоге: 1
10.02.2010, 11:13 #2
Думаю, что если заменить слова "композитный" на "составной" и "сущность" на более понятный синоним (более привязанный к конкретной теме), то шансов получить ответ прибавится.
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
10.02.2010, 11:43  [ТС] #3
Коткин С.Д., преподавая студентам реляционные БД говорит, именно о композитных сущностях и ключах, а не составных. Но как синоним думаю можно юзить слово "составной". Тогда задача будет выглядеть так:
Есть таблица БД с составным возможным ключом из двух полей, двух составных атрибутов, или обычного поля и составного атрибута. Надо значениям одного из этих атрибутов сопоставить столбцы экранной таблицы, а значения второго поля пусть соответствуют строкам и подписать строки/столбцы в заголовочных столбцах/строках соответствующими значениями обычных полей. Если, например, столбцам, соответствуют значения составного атрибута, то значения всех его полей вывести в равное количество заголовочных строк: каждая заголовочная строка соотвествует одному полю составного атрибута. Вход - TADOTable/TADOQuery или их аналоги. Как сделать компонент, инкапсулирующий всё, что нужно для решения этой задачи?
Хотя, я не уверен, что термин "атрибут" из теории БД можно юзить в сочетании со словами "составной", "композитный".
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
10.02.2010, 11:52  [ТС] #4
Предположим, таблица БД имеет поля: день недели, номер пары, возможность планирования занятия на данное время. Первичный ключ состоит из полей: день недели, номер пары. Вывести надо в виде (рис. 1)

Друга таблица имеет поля: неделя, день недели, номер пары, возможность планирования на данное время. Показать так - (рис. 2)

В обоих случаях интерфейс OpenOffice.org Calc не нужен, надо только также оформить саму таблицу (даже без заголовочных строк и столбцов, свмого OpenOffice.org Calc). Плюс выделить в первом случае первые строку и столбец, а во втором - первый столбец и две первые строки, так чтоб они казались выпуклыми и имели другой цвет фона (Подобно FixedRows в TStringGrid). Надо также поддерживать транспонированный вариант второй таблицы (выделит первые два столбца и первую строку) и вариант, когда и заголовочных строк несколько, и заголовочных столбцов тоже. Всё должно быть инкапсулировано в классе.
0
Миниатюры
Ортогональная таблица   Ортогональная таблица  
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,464
Записей в блоге: 1
10.02.2010, 12:16 #5
Цитата Сообщение от taras atavin Посмотреть сообщение
Предположим, таблица БД имеет поля: день недели, номер пары, возможность планирования занятия на данное время. Первичный ключ состоит из полей: день недели, номер пары. Вывести надо в виде (рис. 1)
имеет смысл сделать 7 полей для дней недели (больше или меньше ну никак не будет, это статичные данные) + поле возможности а в них проставлять номера пар + конкретную дату.
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
10.02.2010, 12:20  [ТС] #6
А если станет их 700? Я ведь могу и сто видов недели нафигачить. Так вот: сами таблицы БД надо делать быстро и единообразно и также быстро и единообразно их подключать к экранным. Долго можно делать только класс экранной таблицы, но использоваться он будет многократно.
0
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,464
Записей в блоге: 1
10.02.2010, 12:23 #7
Цитата Сообщение от taras atavin Посмотреть сообщение
А если станет их 700? Я ведь могу и сто видов недели нафигачить.
700 дней в неделе? дас ист фантастишь!!!
Нормализация БД
0
taras atavin
3570 / 1754 / 91
Регистрация: 24.11.2009
Сообщений: 27,567
10.02.2010, 12:43  [ТС] #8
Цитата Сообщение от oxotnik Посмотреть сообщение
больше или меньше ну никак не будет, это статичные данные
Учебная неделя, чаще всего, пятидневная. И больше бывает: декада состоит больше, чем из семи, кажется, из десяти дней. И при чередовании недели данные могут меняться. На рис 2 в посте № 4 10 учебных дней. А если тем же макаром и субботой? Это уже 12 дней. Ещё вариант: на месте дней недели числа месяца, а на месте вида недели месяцы. Получам 31 или 366 дней. С чётным/нечётным годом 732 дня. А если за век? Вместо номеров пар могут быть страны, а сами данные, например, были ли в этот день и в этой стране землетрясения. По тому же принципу можно много чего навертеть и каждый раз мучаться с созданием кучи полей?

Добавлено через 2 минуты
А это я и так знаю. Но на экран надо вывести так, чтоб одно или несколько полей, идентифицировали столбец вместо строки.

Добавлено через 8 минут
Идея задачи: вывести таблицу на экран, интерпретируя составной возможный ключ как набор индексов плоского массива. Такие экранные таблицы реально существуют во многих программах автоматизированного составления расписания. В одной проге я даже сам делал такое отображение с возможностью редактирования. Сейчас же меня интересует класс для единообразной работы с такими таблицами, если данные хранятся в таблицах обычных реляционных БД.
0
oxotnik
1591 / 1068 / 33
Регистрация: 21.08.2008
Сообщений: 4,464
Записей в блоге: 1
10.02.2010, 14:07 #9
твоя задача тебе лучше видна, а конкретно по вопросу - наследуйся от TCustomGrid и делай вручную все прорисовки, ну и от циклов никуда не денешься.
0
10.02.2010, 14:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2010, 14:07
Привет! Вот еще темы с ответами:

Таблица Шульте на С++ - C++ Builder
Здравствуйте! Я делаю Таблицу Шульте в Builder-e. Смысл такой: при каждом запуске программы числа от 1 до 25 в таблице 5х5 становятся в...

Таблица рекордов - C++ Builder
Помогите сделать таблицу рекордов для игры. В таблице должно быть 2 поля: имя и рекорд. имя нужно передавать и 1 формы в 4,а рекорды из 2 и...

Хеш-таблица - C++ Builder
Доброго время суток. Пытаюсь реализовать хеш-таблицу. Организация таблицы с вычисляемым входом: Перемешивание с цепочками...

ТАБЛИЦА StringGrid - C++ Builder
помогите написать пожалуйста прогу ... на форме расположен StringGrid и кнопки добавить,удалить,сохранить таблица: сведения о...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.