Здравствуйте друзья. Недавно начал активно интересова...

Автор ForumOOo (бот), 19 июля 2016, 20:37

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Base
Версия продукта: 5.x
Сборка: LibreOffice
ОС: Ubuntu 14.04LTS, Windows 7 Ultimate(на работе).

Здравствуйте друзья. Недавно начал активно интересоваться базами данных. Ну а LibreOficce давно прижился в офисе, так что выбор был очевиден
).
Пока два вопроса:
1. Никак не могу понять смысла связей в таблицах... Вот хоть убейте. И в справочной литературе по Base читал и справочники Access. Общее
объяснение - "просто надо". Хотя, про каскадное изменение я суть уловил. Но в остальном не абсолютно не понятен их смысл... Т.е. как её делать
понял - не понял, какую роль она выполняет. Можете бить.
2. Лежит несколько глубже. В целом активно интересуюсь HTML-версткой, программированием немного. Из чего возник вопрос: можно ли привязать
запросы и формы (хотя последнее спорно) к HTML страницам? Так сказать, GUI-интерфейс сделать? Не сейчас, конечно, но интересует возможность
как таковая в принципе. Если да, то что для этого (кроме языка SQL и макросов LibreOffice) мне нужно будет освоить.
Заранее спасибо за ответы.

--
Подпись: CoDeSys
Эл. почта: alexkidd@bk.ru

tagezi

Цитата: ForumOOo (бот) от 19 июля 2016, 17:371. Никак не могу понять смысла связей в таблицах... Но в остальном не абсолютно не понятен их смысл...
Реляционная модель данных

Цитата: ForumOOo (бот) от 19 июля 2016, 17:372. можно ли привязать запросы и формы (хотя последнее спорно) к HTML страницам? Так сказать, GUI-интерфейс сделать? Не сейчас, конечно, но интересует возможность как таковая в принципе. Если да, то что для этого (кроме языка SQL и макросов LibreOffice) мне нужно будет освоить.
да. HTML + Java или HTML + python или HTML + JavaScript. По вкусу, короче.
А начинать лучше с МатАнализа и Дискретной математики (а если это слишком тяжело, то со школьного курса алгебры и геометрии), потом Численные методы и Теория Систем, и дальше уже идти туда куда ведут увлечения.
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

economist

Связи в таблицах нужны для того, чтобы не хранить одно и то же в 2-х (а то и больше) таблицах. Например, Петров работает в Бухгалтерии, имеющей код 5. И если нужно узнать, где работает Петров - заглянуть в одну единственную таблицу, что гораздо быстрее, чем перебирать их все. А еще, если Петрова перевели в Плановый отдел, то код сменится на 6, в единственном месте. Вот для чего нужна реляция.

Привязка Форм, Запросов к WEB-морде - тема неисчерпаема.
К посту tagezi добавлю еще одну популярную связку: HTML+PHP.

Только сразу хочу сказать - встроенный в OpenOffice и LibreOffice движок СУБД HSQLDB - непригоден для чего-то серьезного, и лучше его даже не изучать. Зато OpenOffice и LibreOffice BASE прекрасно работают с SQLite, FireBird, MySQL, PostgreSQL, причем 3 последних - это промышленные бесплатные и свободные решения, не имеющих каких-либо функциональных ограничений.

Если бы мне поставили задачу быстро сделать "web-сайт с хранилищем в СУБД промышленного уровня"  - я бы выбрал CMS Dokuwiki, которая хранит все в текстовых файлах, а с расширениями с открытым кодом - легко взаимодействует с названными СУБД (хватит даже SQLite на 100 ежесекундных запросов). Во-первых, "нулевое" администрирование, во-вторых - готовый свободный конструктор сайтов, точнее один из самых простых wiki-движков. Там PHP, базовое знание которого для web-программиста совершенно обязательно.

Преимущество данного подхода еще и в том, что макросы OpenOffice и LibreOffice прекрасно и молниеносно работают с обычным TXT-файлами, которые и являются "статьями" в Dokuwiki. А в СУБД держать что-то тяжелое (сканы, таблицы итп, для работы по ним SQL-запросами).
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

tagezi

Если использовать Base как локалный инструмент работы с базой данных, то Docuwiki как велосипед на квадратных колесах.
При использовании php, макросы уже реализованные в Base придется переписывать на php. На фига спрашивается делать двойную работу?
Хотя после слова реляция можно вообще не читать. Реляция - это военный и дипламатический термин. Никакого отношения к базам данных не имеет.
(x86_64) Kubuntu 16.04.3 - LibreOffice 6.0.2 / 6.1 alpha

economist

tagezi - Base это отличная морда и фронтэнд к любой СУБД. Приятная среда для написания SQL-запросов, подсветка синтаксиса, свои генераторы отчетов. А Dokuwiki - это "красивый" wiki движок и рендер, который делает красивый текст из plain-текста, в котором все в СУБД, собственно, и хранится.

Вот нужно мне дать, скажем, доступ 200 пользователям к списку телефонов. В чем? Конечно, в Dokuwiki, на интранет-сайте, внутри компании. В любом браузере на любом устройстве этот список телефонов всегда отобразится.

Если же это будет сетевая шара с ODB-файлом - ну вы поняли. То есть я Dokuwiki рекламирую :-)) как универсальное средство публикации какой-либо информации. Чел захотел познакомится с WEB - самое оно.

Маросы StarBasic для web-интеграции с Base переписывать на PHP нужно ровно в той же степени, как и Java/Python/JS. Опять же, тема неисчерпаема.

Реляция, ну не знаю, интернационализм вроде. Relation - отношение (англ). Входит в аббревиатуру RDBMS.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

МР

Для первоначального знакомства с таблицами-связями  можно КЛАДР посмотреть http://www.gnivc.ru/inf_provision/classifiers_reference/kladr/  , попробовать разобраться как устроен, перекачать в FireBird и т.п.

economist

Ну есть еще "классика" - учебная база "Борей" из Access. которая конвертирована в SQLite и даже в HSQL. Но проще найти Борей.mdb и подключиться к ней. Просто нужно помнить, что MS Access в OpenOffice и LibreOffice поддерживается не полностью, но для изучения - годно.
   
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...