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

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

Фильтр для получения списка значений. [XML(ClientDataSet)]


Страницы:   1 2

-=Le][=- ©   (2007-11-08 17:02:00) 

У меня локальная база данных, хранится в файле XML и загружаю её в ClientDataSet. В базе есть поле в которое заношу имена пользователей. Какой фильтр наложить чтобы получить список пользователей?
Тоесть чтобы каждое имя юзера встречалось только раз в этом списке!


Reindeer Moss Eater   (2007-11-08 17:36:00) [21]

Если она и была нарушена (а это не так), то второй вариант никак не исправляет положения.

PK - номер заказа.

Все неключевые поля зависят только от PK
Ни одно неключевое поле не зависит от другого неключевого поля.
Все поля содержат атомарные значения.


sniknik   (2007-11-08 17:36:00) [22]

> Ни до ни после никакая нормальная форма не была нарушена.
считай как хочеш.

> Какая именно из первых пяти нормальных форм нарушена?
хочеш поговорить? зачем? можно прочитать (минута поиска в гугле)
http://www.wwwmaster.ru/article.php?nart=21


Johnmen   (2007-11-08 17:32:00) [23]

Нарушена третья форма.


Reindeer Moss Eater   (2007-11-08 17:30:00) [24]

таблица из трех полей:


Заказ №1   1000р  Петя Иванов
Заказ №2   100р   Иван Петров
Заказ №3   99р    Петя Иванов


Какая именно из первых пяти нормальных форм нарушена?
И какая нормальная форма появляется, если это заменть на:

Заказ №1   1000р  1
Заказ №2   100р    2
Заказ №3   99р     1


Johnmen   (2007-11-08 17:28:00) [25]


> Reindeer Moss Eater ©   (08.11.07 17:19) [3]
> Вообще-то замена строковых имен
> идентификаторами клиентов никакого отношения к нормализации
> не имеет.Ну ни малейшего.

Это ты погорячился...


Reindeer Moss Eater   (2007-11-08 17:26:00) [26]

Дублировались строки.
Ввели таблицу клиентов, стали дублироваться идентификаторы.

Ни до ни после никакая нормальная форма не была нарушена.


sniknik   (2007-11-08 17:25:00) [27]

> Это справедливо для больших баз
какая разница? хоть из одной таблицы, термины не меняются, в базе таблицы, в таблицах поля.


sniknik   (2007-11-08 17:23:00) [28]

а то что мы этим самым убираем дублирующиеся значения? просвети темного.


-=Le][=-   (2007-11-08 17:23:00) [29]

sniknik ©
Это справедливо для больших баз, а у меня маленькая прога с маленькой базой!
Две связанные таблицы которые хранятся в двух XML-файлах!
Раньше все было в текстовом формате в ini-файле и занимало от 2 до 5 КБ!


Reindeer Moss Eater   (2007-11-08 17:21:00) [30]

Лично я бы выбрал XPath'ом список имен и уже с ним бы работал, убирая дубликаты.


Reindeer Moss Eater   (2007-11-08 17:19:00) [31]

и кстати если имена у тебя повторяются то таблице требуется нормализация и деление на 2

Вообще-то замена строковых имен идентификаторами клиентов никакого отношения к нормализации не имеет.
Ну ни малейшего.

:)


sniknik   (2007-11-08 17:16:00) [32]

в базе нет полей, в базе таблицы. и фильтром такого отбора с отсевом не уникальных не сделаешь... это на sql просто сделать (для XML нет sql движка), а фильтром практически невозможно.

и кстати если имена у тебя повторяются то таблице требуется нормализация и деление на 2 (а может больше), таблицу с данными и справочник имен (который как раз и содержал бы только уникальные имена). имхо конечно.


Reindeer Moss Eater   (2007-11-08 17:07:00) [33]

Фильтром клиентдатасета этого не сделать.
Только если его агрегатными полями.


Страницы:   1 2

Наверх

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