Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как лучше сделать выбор с БД [FireBird, BDS 06]


Страницы:   1 2

Gamer ©   (2008-07-16 11:55:00) 

Здравствуйте, ув.мастера.
Нужно написать курсовую по инфе, которая использует БД FireBird.
есть такие таблицы:

ФАКУЛЬТЕТ(F_ID, НАЗВАНИЕ)
СТУДЕНТ(S_ID, F_ID, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
ПРЕДМЕТ(D_ID, НАЗВАНИЕ)
П_Ф_К(D_ID, F_ID, KURS)
TEMA(T_ID, НАЗВАНИЕ)

Суть такова - программа должна написать микро конспект по выбранной теме. Поле П_Ф_К вставил для привязки предмета к курсу и фак-ту. Буду признателен, если поправите - первый раз пишу БД.
У меня возникла проблема, когда я писал окно выбора - незнaю как сделать. Пробовал DBLookUpComboBox, но безуспешно.
На окне есть поля:

Факультет
Курс
Группа
ФИО
Предмет
Тема

Тут поля связанны должны быть. Курси группунадо выбирать из Студент. И в этом вся суть.
Спасибо за внимание.


Gamer   (2008-07-18 15:48:00) [1]

))а я ему уже так говорил
но пасиб.
всем удачи.


oldman   (2008-07-16 13:29:00) [2]


> Тут поля связанны должны быть. Курс и группу надо выбирать
> из Студент. И в этом вся суть.


Может наоборот?
Курсов, предположим 5.
Групп на каждом, предположим, 10.
Студентов в каждой, предположим, 25.
Итого 1250 студентов.

выбрав Курс сужаем до 250
выбрав Группу сужаем до 25
выбираем Студента из маленького списка

А то придется выбирать из полного списка, чтобы узнать курс и группу?
Бред! так преподу и передай.


Поросенок Винни-Пух   (2008-07-16 13:10:00) [3]

Можно ли в Query задать запрос, который бы выдал Strings?

Не. Можно встряхнуться и задать в форуме внятный вопрос, который бы выдал Strings.


Gamer   (2008-07-16 12:43:00) [4]

использую FiBPlus


Gamer   (2008-07-16 12:43:00) [5]

Ок. Формирую еще раз.
Надо сделать само окно выбора.
Какие тут компоненты должны быть списками?
Можно ли в Query задать запрос, который бы выдал Strings?
Если нет, то какие должны быть запросы, чтобы была связь между Темой и Предметом (который в свою очередь зависит от П_Ф_К - курса и фак-та)


Gamer   (2008-07-16 12:40:00) [6]

согласен, но у меня в табл. Факультеты было еще поле "Сокращенное название"


Костик   (2008-07-16 12:39:00) [7]


> Gamer   (16.07.08 12:27) [6]
> Точно. в "ТЕМА" забыл D_ID.
> А вопрос - как сделать чтобы...если выберу фак. то в остальных
> списках будут данные лишь по этому фак-ту и т.д.
> Это на каждый список свой датасет и датасорс? Какими компонентами
> список сделать?

Для начала чётко представь схему предметной области своей: нарисуй на бумажке таблички большими квадратиками, а в ней поля списочком. Потом проведи стрелочки от одних таблиц к другим так, чтобы начало стрелочки было напротив поля со знаком _ одной таблицы, а конец стрелочки напротив поля со знаком _ другой таблици. Это будет значить что если стрелочка идет от поля F_ID таблицы ФАКУЛЬТЕТ к полю F_ID таблицы СТУДЕНТ то значит каждому факультету соответствует ноль, один или больше студентов.
В этой всей схеме определи каким боком будет связана таблица TEMA, ну и все остальные, так чтобы каждая таблица была связана с какойто.
Когда это все сделаешь сформулируй свой вопрос еще раз.


oldman   (2008-07-16 12:38:00) [8]


> ФАКУЛЬТЕТ(F_ID, НАЗВАНИЕ)
> СТУДЕНТ(S_ID, F_ID, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)
> П_Ф_К(D_ID, F_ID, KURS)


Зачем три таблицы? Достаточно

СТУДЕНТ(S_ID, ФАКУЛЬТЕТ, КУРС, ГРУППА, ФАМИЛ, ИМЯ, ОТЧЕСТВО)


Gamer   (2008-07-16 12:36:00) [9]

2 oldman
потому я и сделал таблицу П_Ф_К - чтобы можно было дописать сколько угодно связей...думал так.


oldman   (2008-07-16 12:35:00) [10]


> А вопрос - как сделать чтобы...если выберу фак. то в остальных
> списках будут данные лишь по этому фак-ту


Предмет, Тема и Курс могут быть одинаковыми для ВСЕХ факультетов.
:)
История, Английский, Философия etc. проходятся везде. Обязательный минимум, знаете ли.


Gamer   (2008-07-16 12:34:00) [11]

Лан. Спасибо за помощь.


oldman   (2008-07-16 12:32:00) [12]


> На окне есть поля:
>
> Факультет
> Курс
> Группа


В нашем институте можно было только группу вводить.
В названии группы были и курс, и факультет. У меня была ИЗ-5. Ясно и понятно. Информатика, Заочная форма, Пятый набор.
Может и у вас так, а ты не знаешь.


Dennis I. Komarov   (2008-07-16 12:32:00) [13]

> онологичными

SORRY
 аналог...


Dennis I. Komarov   (2008-07-16 12:31:00) [14]

> Какими компонентами список сделать?

TDataSet и онологичными + почитать основы SQL

Сюда с конкретными проблемами...


Gamer   (2008-07-16 12:29:00) [15]

уже написал:)


Gamer   (2008-07-16 12:27:00) [16]

Точно. в "ТЕМА" забыл D_ID.
А вопрос - как сделать чтобы...если выберу фак. то в остальных списках будут данные лишь по этому фак-ту и т.д.
Это на каждый список свой датасет и датасорс? Какими компонентами список сделать?


Dennis I. Komarov   (2008-07-16 12:23:00) [17]

> На окне есть поля

конопли?

Прочитай [0] и попробуй понять что от нас хочешь...


oldman   (2008-07-16 12:22:00) [18]


> Суть такова - программа должна написать микро конспект по
> выбранной теме.


А почему микро?
Напишет нормальный конспект - цены ей не будет!


Sergey13   (2008-07-16 12:20:00) [19]

> [0] Gamer   (16.07.08 11:55)
> И в этом вся суть.

Только суть какая то сумбурная, ИМХО.

> Поле П_Ф_К вставил для привязки предмета к курсу и фак-ту.

Фак-т вижу, курс - нет.
Таблица Тема вообще как то сбоку прилепилась.

ЗЫ: видимо нужно было не только гамать, но и учиться иногда.

ЗЗЫ: Ты все пела - это дело (с) Дедушка Крылов


Gamer   (2008-07-16 12:07:00) [20]

:) а может у кого есть другие варианты решения?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо