Варианты Portable SQL
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- Игорь Столяров
- Ветеран движения
- Сообщения: 7447
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 51 раз
Варианты Portable SQL
Ага. Т.е. похоже, что связь между описанием ключа в словаре и индексом в БД Firebird устанавливается по какому-то внутреннему коду ...
Понятно, что для списков Clarion желательно наличие уникального ключа, но это ведь может быть и просто уникальное наименование ....
Спасибо ! А вот еще такой детский вопрос. Я создал IBExpert новую (пустую) БД Firebird.
Хочу просто к ней подключится и выполнить, например "CREATE TABLE ...".
Это можно сделать ? Или нужно обязательно, что бы был файл и уже после его открытия
действовать через File{Prop:SQL} = "CREATE TABLE ..." ?
Я не туплю. Нашел хорошее русское описание, заказал на озоне книжку по Firebird, разбираюсь.
Но есть вопросы, которые специфичны для связки Clarion - ODBC - Firebird. Спасибо !
Понятно, что для списков Clarion желательно наличие уникального ключа, но это ведь может быть и просто уникальное наименование ....
Спасибо ! А вот еще такой детский вопрос. Я создал IBExpert новую (пустую) БД Firebird.
Хочу просто к ней подключится и выполнить, например "CREATE TABLE ...".
Это можно сделать ? Или нужно обязательно, что бы был файл и уже после его открытия
действовать через File{Prop:SQL} = "CREATE TABLE ..." ?
Я не туплю. Нашел хорошее русское описание, заказал на озоне книжку по Firebird, разбираюсь.
Но есть вопросы, которые специфичны для связки Clarion - ODBC - Firebird. Спасибо !
За теми кто отстал - не возвращаться. (С) Кодекс
Варианты Portable SQL
Лучше написать "может не быть".
В высоконагруженных базах ухудшает быстродействие при вставке и модификации записи, затрагивающей поля индекса. При удалении в меньшей степени. В остальном, если с записями ничего не делать, улучшает быстродействие -- ну это как бы объяснять не надо. Но при этом расходует место.
-
- ✯ Ветеран ✯
- Сообщения: 5025
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Варианты Portable SQL
Если есть в БД хоть какой-нибудь файл, то должно покатить. Насчёт открытия этого файла не могу точно ответить, точно, если к неоткрытому файлу сделать запрос "Select ...", а потом Next(), то будет ошибка (неоткрытие файла).Игорь Столяров писал(а):то можно сделать ? Или нужно обязательно, что бы был файл и уже после его открытия
действовать через File{Prop:SQL} = "CREATE TABLE ..." ?
Я всё же не очень понимаю нужду создавать структуру БД запросами.
We are hard at work… for you.
-
- ✯ Ветеран ✯
- Сообщения: 5025
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Варианты Portable SQL
Не, ну создавать индекс "Name, ID" - это чересчур. Зачем?Shur писал(а): kreator писал(а):
Источник цитаты А в самой базе такого ключа быть не должно.
Лучше написать "может не быть".
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7447
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 51 раз
Варианты Portable SQL
Я просто привел как пример команду создания таблицы ... Это может быть "ALTER DATABASE SET LINGER 30" или
запуск хранимой процедуры, которая создаст таблицы ....
Т.е. можно выполнить команду из приложения без подключения к (наличия) таблицы в базе Firebird ?
За теми кто отстал - не возвращаться. (С) Кодекс
Варианты Portable SQL
Ну ежели вопрос задан... Не знаю, как там в других реализациях, а в MS SQL, если бы выбирать между просто индексом по полю Name и этим я бы именно такой индекс и посоветовал построить.
Потому как индекс получился бы по определению уникальным. По этой причине он бы имел меньший размер ключа на корневом и промежуточных уровнях. Плюс вы наверняка захотите связать эту таблицу с какой-либо ещё по полю ID. В этом случае сиквелу даже не придётся лезть в саму запись -- ID уже известен.
-
- Старожил
- Сообщения: 263
- Зарегистрирован: 11 Февраль 2009, 8:41
- Откуда: г. Анапа
- Поблагодарили: 3 раза
Варианты Portable SQL
1. Насчет ключей. Достаточно одного уникального. Акцесс, например, при создании таблицы сам впендюривает поле UID и удалить его низя. Хотя м.б. сейчас уже можно. Давно я с ним не работал.
Порядок выбора и сортировки определяется SELECT-ом
2. Чем мне нравится работать с SQL-ными базами - это никаких Open (Close). Connect ......... Disconnect. А в том месте, где стоят точки делай, что хочешь (в разумных пределах) создавай, удаляй, модифицируй.
Порядок выбора и сортировки определяется SELECT-ом
2. Чем мне нравится работать с SQL-ными базами - это никаких Open (Close). Connect ......... Disconnect. А в том месте, где стоят точки делай, что хочешь (в разумных пределах) создавай, удаляй, модифицируй.
-
- ✯ Ветеран ✯
- Сообщения: 5025
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Варианты Portable SQL
Провёл эксперимент. Всё нормально. pro:SQL можно применить и к несуществующей таблице.Игорь Столяров писал(а):Т.е. можно выполнить команду из приложения без подключения к (наличия) таблицы в базе Firebird ?
А зачем такая уникальность. Для первичного ключа нужен ID только. А если нужна уникальность Name, то индекс только по Name.Shur писал(а):Потому как индекс получился бы по определению уникальным.
We are hard at work… for you.
Варианты Portable SQL
Перечитай внимательно. Для MS SQL -- меньший размер ключа. Это я про физику организации индексов в MS SQL.
И маленький нюанс: уникальный сам по себе индекс по Name+ID не даёт уникальности по Name. Так что для модели данных ничего не меняется кроме того, что индекс получается более оптимизированным.
Ошибся, видимо надо...
Вообще это две большие разницы: сканирование таблицы по кластерному индексу и поиск по индексу. На маленьких таблицах вы это можете не почувствовать, но на больших разница в скорости может составлять несколько порядков.
Последний раз редактировалось Shur 16 Март 2016, 12:56, всего редактировалось 1 раз.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7447
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 51 раз
Варианты Portable SQL
Спасибо, стало светлее ... Работаем !
Вообще ощущение от работы с Firebird - как-то все просто и понятно, все находится там где ожидаешь это увидеть
и работает так, как должно работать (в отличии от MS SQL). Возможно это связано с IBExpert ...
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 5025
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Варианты Portable SQL
Эксперт да, хорош! Потягаться с ним может, наверно, только Жаба. Странно, что не хотят поддерживать другие сервера (не FireBird). Может я не прав?Игорь Столяров писал(а):Возможно это связано с IBExpert ...
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7447
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 16 раз
- Поблагодарили: 51 раз
Варианты Portable SQL
Негатива нет. Но как-то все сложно и наворочено, начиная с установки и заканчивая использование.
Наверно под каждый класс задач должна быть своя база, мне такая сложная не нужна.
За теми кто отстал - не возвращаться. (С) Кодекс
Варианты Portable SQL
Игорь, какую версию IBExpert используешь?
У меня 2016.3.15.1 Personal Edition
IBExpert - кто знает как получить полную профессиональную версию -
есть ли варианты?
У меня 2016.3.15.1 Personal Edition
IBExpert - кто знает как получить полную профессиональную версию -
есть ли варианты?
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 5025
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 22 раза
Варианты Portable SQL
Есть в полной версии нужные опции. Согласен. Раньше была одна версия и для пользователей СНГ бесплатна (даже типа при старте определяет кодовую страницу Винды и всё). Сейчас что-то непонятное. Полную версию вообще нельзя скачать? Или она что-то требует?
We are hard at work… for you.