Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.04.21;
Скачать: [xml.tar.bz2];

Вниз

начало работ с БД   Найти похожие ветки 

 
123456789igor ©   (2012-10-10 18:10) [0]

Добрый день!
Хочу выполнить след задачу:
создать базу данных которая хранит след данные
1)Автомобили+id этого раздела(т.е 2 критерия id и имя)
2)Мебель+id этого раздела
тут нужно осуществить поиск по имени и добавление новых данных на пример "растения"
затем на подобии иерархии
переходим в автомобили
там есть
1)вольво+id этого раздела
2)ауди+id этого раздела
3)VW+id этого раздела
тут нужно осуществить поиск по имени и добавление новых данных на пример "лада"
затем опять иерархия
переходим в ауди:
1)a8 мощность объем id
2)a7 мощность объем id
тут нужно осуществить поиск по имени и добавление новых данных на пример "a4"
так же с Вольво и др. но там другие критерии к примеру мощность и рассход
C бд практически не знаком посоветуйте как осуществить данную задачу. Знаю в делфи вроде есть бд. Посоветуйте среду и парочку книжек по бд к этой среде. Приблизительно знаю как сделать просто базу данных а вот осуществить такую иерархию не знаю как, даже не представляю.
Заранее благодарен.


 
Сергей М. ©   (2012-10-10 20:55) [1]


> Хочу .. базу данных которая хранит
> 1)Автомобили
> 2)Мебель
> нужно добавление .. "растения"


А завтра что ?
Завтра захочешь "продукты" ?
А послезавтра "шмотки" ?
А послепослезавтра "еще черт т е что и сбоку бантик" ?


 
AV ©   (2012-10-10 21:22) [2]

две таблицы, одна представлена в виде TreeView
вторая - атрибуты ("мощность и рассход")

слева дерево, а, при выборе ветки, справа грид с атрибутами

table Tree
Id_tree
Id_parent

table Attr
id_attr
id_tree
name

id_tree id_parent name
1 0 AUTO
2 0 FLOWER
3 1 VOLVO
4 1 MERSEDES
5 2 ROUSE
6 2 CACTUS

id_attr id_tree name
1 1 AUTO NODE
2 1 ONLY AUTO :)
3 2 FLOWERS NODE
4 2 Buy from us!!
5 6 does not like water
6 6 do not sit down


 
Сергей М. ©   (2012-10-10 21:29) [3]


> вторая - атрибуты ("мощность и рассход")


Особо радует  применение атрибутов "мощность и рассход" к потенциальной категории, к примеру, "нижнее бельё")


 
AV ©   (2012-10-10 21:33) [4]

ну, тут атрибут абстрактный, только имя :)

если что, можно расширить

table Attr
id_attr
id_tree
name
id_Category

table Category
id_Category
Name


 
AV ©   (2012-10-10 21:38) [5]

а вообще, напоминает, как ИШ цитировал как-то Кайта,  БД из 4х таблиц
ну а что, зато всё по ТЗ :)


 
Сергей М. ©   (2012-10-10 21:44) [6]

Привлекательную идею и механику реализации задачи ведения масшабируемого номенклатора, сбацаного в Delphi+Firenird, можно подсмотреть, к примеру, у Ашота aka Kaif(с) в продукте Allegro

http://www.gaapinvest.com/allegro/aboutallegro.php
см. п."СПРАВОЧНИКИ: НАСЛЕДОВАНИЕ АТРИБУТОВ, ФОРМАТИРОВАНИЕ НАИМЕНОВАНИЙ"


 
AV ©   (2012-10-10 23:18) [7]


> СПРАВОЧНИКИ: НАСЛЕДОВАНИЕ АТРИБУТОВ, ФОРМАТИРОВАНИЕ НАИМЕНОВАНИЙ

а..
задачка MonoLif`a реализована
В принципе, к подобному пришел дома, на досуге..
только вот что-то не особо верится, что там все "на лету", как написано в рекламе
это простой документ придется расшифровать минимум за 4-5 соединений..
А если учесть, что все справочники динамические и неограниченно наследуемые - то и больше.
Потом, как написано в полу-рекламе, используется генерированный на лету запрос.
т.е. хранимок нет, движок БД заранее не откомпилил эти 4-5 соединений а то и больше

короче, в "на лету" - "не верю!"


 
AV ©   (2012-10-10 23:26) [8]

Блин, запросы на custom БД, да еще и "на лету"
имхо, через 2-3 года при нормальном обороте, это будет тормоз еще тот..


 
AV ©   (2012-10-10 23:27) [9]

хотя..
Если т.н. "срезы на дату" (по аналогу "точку актуальности" желтой программы) делать часто
и грамотно


 
kilkennycat ©   (2012-10-11 00:58) [10]

любая база данных эффективна и компактна всего из двух таблиц:
1) таблица из двух полей: id и наименование.
2) таблица записей, каждое поле которой word (думается мне, что достаточный размер) - ссылка на таблицу 1.

пример, табличная запись стиха
мама мыла
Машу мылом
Маша мыло
не любила

первая таблица:
0 любила
1 мама
2 Маша
3 Машу
4 мыла
5 мыло
6 мылом
7 не

вторая таблица
0 1 4
1 3 6
2 2 5
3 7 0

легко видно, что с увеличением числа записей эффективнось по объему возрастает. мне кажется, что первая таблица не превысит 20 тысяч записей, причем фактически это один столбец, а соответственно идеально сортированный, что офигенно увеличивает поиск.

на такой идеологии у меня даже крутится пара программок, скорость сумасшедшая, главное вовремя остановиться и не поддаваться соблазну разделять слова на приставки, корни, суффиксы и окончания :)


 
kilkennycat ©   (2012-10-11 01:02) [11]

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


 
AV ©   (2012-10-11 09:24) [12]


> kilkennycat ©

а можно еще проще - первая таблица это 33 буквы :)


 
AV ©   (2012-10-11 09:42) [13]

или ее вообще не надо, есть же ASCII таблица
и каждая буква и так имеет код в ней :)

----

а как быть с 3х и более "словными" стихами?
налету альтерить table добавляя очередной столбец FLD_X, который будет сразу nullable, а посему не очень идексированный?

А средний рассказик как записать тогда..
или записать ладно. Как потом получить..  Походу, запрос будет больше рассказика %)

А "войну и мир" - вообще не хватит оперативки на запрос :)


 
kilkennycat ©   (2012-10-11 10:57) [14]


> а как быть с 3х и более "словными" стихами?

все просто,прикидываем примерный наиболее употребительный размер записи. уместилось в одну, хорошо. не уместилось - последний байт = ссылка на продолжение и пишем вторую запись. еще немного и получим винчестер :)


 
MsGuns ©   (2012-10-11 11:57) [15]

То, что написано в сабже - скорее конец работы с БД, чем начало.
Т.е. когда обследование предмета автоматизации завершено, объекты в деталях описаны, задачи поставлены, средства решения определены

В данном случае, судя по "сказочности" описания, там и конь не валялся.
Типа автор пришел, увидел, победил :)


 
Вова   (2012-10-12 05:00) [16]

1С торговля и склад или подобная конфа, справочник номенклатура, туда все описаное можно запихать в любых количествах )

Т.е. делается иерархия - папка(ну вот например автомобили) -> элементы, каждому элементу можно присвоить произвольное количество характеристик ), также есть у каждой папки и элемента код, у элемента еще и артикул )

по аналогии в делфи ну видимо хотя бы 3 таблицы, первая это группы, вторая элементы, третья характеристики ).

Либо даже одна таблица, просто в колонке одной указывать папка это или элемент или характеристика, а также колонку в которой указывать родителя ) короче 1С в тыщу раз проще ))


 
Вова   (2012-10-12 05:16) [17]

хм, для характеристик видимо нужно еще 2 таблицы: "Названия характеристик" и "значения", и из этих двух таблиц организовать выбор в соответствующих полях первой таблицы характеристик, либо каждый раз руками вводить текст придется в поля первой таблицы характеристик.

И самое веселое будет это соорудить удобоваримый интерфейс из этих таблиц.

короче чисто по деньгам я щитаю коробка 1С дешевле выйдет, чем если с нуля программистом писать на делфи ) ведь полюбому там еще что то нужно будет со всем этим делать.


 
MonoLife2   (2012-10-12 06:03) [18]


> короче чисто по деньгам я щитаю


"щитают" на пальцах, а по деньгам - считают


 
Inovet ©   (2012-10-12 06:32) [19]

> [0] 123456789igor ©   (10.10.12 18:10)
> Знаю в делфи вроде есть бд.

В Делфи есть доступ к различным СУБД, сами СУБД отдельно.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.04.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.004 c
15-1356193225
alexdn
2012-12-22 20:20
2013.04.21
asp.net


15-1355940061
O'ShinW
2012-12-19 22:01
2013.04.21
Юзал ли кто Caché, и не даст ли ссылки на Курс молодого бойца?


15-1356202525
wl
2012-12-22 22:55
2013.04.21
Опять фильмы


15-1356407480
MonoLife
2012-12-25 07:51
2013.04.21
Сколько стоит программа?


15-1356228928
makz
2012-12-23 06:15
2013.04.21
Курсор мыши





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский