|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.12.2007, 16:27 | #1 |
Регистрация: 23.11.2007
Сообщений: 6
|
2 таблицы
Доброе время суток.
У меня есть 2 таблицы. Надо реализовать следующую вещь. чтобы при выборе в таблице первой строки (допустим в 1 таблице список классов а во второй список учеников) во второй таблице выводились бы все ученики в 1 столбце (допустим 5б). Ну собственно говоря так и с остальными. п.с. Приложение на Delphi база построена на IB Expert. Заранее большое спасибо. |
01.12.2007, 16:36 | #2 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
А в чем собственно трудность?
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
01.12.2007, 16:44 | #3 |
Регистрация: 23.11.2007
Сообщений: 6
|
|
01.12.2007, 17:24 | #4 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
делаеш в БД 2 таблицы первая - список классов, а вторая список детей с классами. Потом создаеш временную таблицу которую заполняеш автоматом через SQL запрос. Так же можно обойтись без временной таблицы если число классов изначально извесно. Тогда сделать третью таблицу в которой под каждый класс отведен столбец. Програмно всего даже не пробую описать - много. описал только принцып, а так почитай литературку - благо ее много на сайте и пробуй, а сюда с более конкретными вопросами...
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
01.12.2007, 18:00 | #5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Таблица со списком классов???
Чушь какая-то... То же самое, что делать таблицу целых чисел... Вам в этом случае (именно в этом, конкретном) нужна одна-единственная таблица - "Ученики", примерный перечень полей которой таков: 1. Id - просто идентификатор записи, автоинкрементное, по нему - основной индекс; 2. Class - символьное, длина - 3, наименование класса, по этому полю будете делать выборки типа " select * from tabuch where class="10a" ", поэтому для него полезно создать вторичный индекс; 3. Fam - фамилия, символьное; и так далее - имя, отчество, год рождения и что вам там еще нужно... |
02.12.2007, 12:20 | #6 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
Все же позволь те поспорить... Две таблицы советую использовать для экономии места. Хорошо если класы называются просто 10а, 10б... а как у нас в лицее 10 а - экгономический, 11 правовой. тогда название класса встречается один раз, а в таблице с списком только индекс. Я понимаю что вы ставили наиболее простой метод решения задачи. Но по правилам проэктирования БД если информация часто повторяется в БД имеет смысл разбить ее на отдельные таблицы
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
02.12.2007, 12:47 | #7 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Если такие наименования, то этом случае - да, согласен.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
печать таблицы! | frodo | Общие вопросы Delphi | 4 | 10.04.2008 19:52 |
«резиновые таблицы» | ATTA | Microsoft Office Excel | 6 | 30.01.2008 14:35 |
Выборка из таблицы | ivp88 | БД в Delphi | 5 | 12.01.2008 14:36 |