Ultimate ++: схеми баз даних

Відео: Бази даних, лекція №1 (2013)

Ultimate ++: схеми баз даних
Об`єкти SqlExp кардинально полегшують створення запитів, але створення самих таблиць і визначення об`єктів SqlId для всіх їх колонок залишається трудомісткою справою. Для автоматизації цих рутинних завдань в U ++ передбачені так звані схеми баз даних (Database Schema). Ідеологія схем аналогічна ідеології компоновок для створення графічного інтерфейсу. Схема визначається в спеціальному sch-файлі, який являє собою послідовність особливих макросів С ++. Цей файл безпосередньо включається в програму директивою #include. Макроси в файлі схеми автоматично генерують весь код, необхідний для створення таблиць, визначають необхідні змінні і дають ряд додаткових можливостей. Цей підхід аналогічний включенню в програму lay-файлів, в яких теж автоматично генерується потрібний код за допомогою спеціальних макросів.
Створимо файл db.sch зі схемою нашої простий бази:
TABLE _ (TEST)
INT _ (A)
STRING _ (B, 200)
END _ TABLE

Схеми гранично зрозумілі і дуже легко читаються. Імена, оголошені в макросах, що закінчуються на «_», автоматично стають об`єктами SqlId, доступними в основній програмі. Той же макрос, але без «_», не створює об`єкт SqlId, але в іншому працює точно так само. Таким чином, наша схема дозволяє не тільки автоматично створити таблицю, але і повністю замінює оголошення:
SqlId A ( "A"), B ( "B"), TEST ( "TEST") -

яке тепер потрібно видалити з коду. Уявіть, скільки часу це економить для складних таблиць і скількох безглуздих помилок дозволяє уникнути! Підключити схему до програми потрібно перед CONSOLE_APP_MAIN такими рядками:
// Використовуємо «діалект» схем для SQLite3
#define SCHEMADIALECT
// Підключаємо створений файл схеми. MyDbExample - ім`я проекту
#define MODEL



// Підключаємо стандартні заголовки для обробки схем #include "Sql / sch _header.h" #include #include

Виглядає досить складно, але зробити це потрібно тільки один раз. Тепер видалимо рядок, де таблиця створюється вручну:
db.Execute ( "create table TEST (A INTEGER, B TEXT)") -

І замість неї напишемо:
SqlSchema sch (SQLITE3) - // Створити об`єкт схеми
// Створити таблиці



All _Tables (sch);
SqlPerformScript (sch.Upgrade ()) -
SqlPerformScript (sch.Attributes ()) -

Тепер таблиця створюється автоматично згідно зі схемою. Цей код виглядає громіздким для однієї простої таблиці, але якщо схема, скажімо, визначає сотню дуже складних таблиць, то написати потрібно ці ж три рядки без будь-яких змін.

Ну, а якщо Ви не програміст, а азартний гравець, якого зовсім не цікавить Ultimate ++, тоді ось Вам відмінний сайт про покер (https://pokerskill.ru/) - pokerskill.ru. Представлені тут матеріали дозволять Вам відточити навички своєї гри і навіть перейти в клас професійних покеристів!
Ultimate ++: схеми баз даних

Існує ще одна потужна можливість, що надається схемами. Для кожної таблиці автоматично створюється структура (struct) з ім`ям S_табліца. Вона відповідає одному рядку в таблиці, а її поля мають ті ж імена, що стовпці таблиці. Ці структури можна використовувати у виразах SqlExp і методі Fetch. наприклад:
S _ TEST t;
for (int i = 0 i lt; 10;
t.A = i;
t.B = AsString (i * i);
db * Insert (t) - // Вставити запис t в таблицю
}
db * Select (t) .From (TEST) .Where (Alt; 5 B! = 4) -
while (db.Fetch (t)) // Отримати наступний рядок результату в t
Cout () lt; lt; t.A lt; lt; " `" lt; lt; t.B lt; lt; " `N" -

Найчастіше такий підхід є більш зручним, оскільки дозволяє оперувати окремим рядком в таблиці як цілим.

ІНШЕ

Кулінарні рецепти 1.12 фото

Кулінарні рецепти 1.12

Програма призначена для ведення бази даних кулінарних рецептів, обліку продуктів, складання та калькуляції страв,…

Ultimate ++: sqlexp фото

Ultimate ++: sqlexp

Відео: N ++: Intro tab invisible ninja speedrun in 35:04 Поки робота з SQL в U ++ виглядає настільки ж нудною, як і в…

Sdl: збірка за допомогою make фото

Sdl: збірка за допомогою make

Відео: C. Урок 12. Компіляція і система збирання (gcc, make)Етап 4. Складання за допомогою make Наведу мінімальний…

Qtiplot: аналіз даних фото

Qtiplot: аналіз даних

Відео: Qtiplot Intro 2 scatter plot, linear regression, error bars, reading data from graphs Можна сміливо сказати, що…

Sql server: пошук або сканування фото

Sql server: пошук або сканування

демонстраційні дані Демонстраційні дані для статті сформовані за допомогою коду, наведеного нижче. Код для створення…

Ultimate ++: перша програма фото

Ultimate ++: перша програма

Відео: Уроки C # (C sharp) | # 3 - Перша програма на C # Перейдемо до реального прикладу. Напишемо просту марну…

Бесіди про qt: qsettings і xml фото

Бесіди про qt: qsettings і xml

Клас QSettings служить Qt-програмістам вірою і правдою, коли потрібно зберегти або завантажити будь-які налаштування…

Як зробити таблицю в екселя? фото

Як зробити таблицю в екселя?

Якщо Вам потрібно створити електронну таблицю або погасити, то Вам допоможе програма Excel. Створивши новий файл в цій…

» » Ultimate ++: схеми баз даних