
- •Історія розвитку баз даних
- •2.Перспективи розвитку систем управління базами даних.
- •Перспективи розвитку систем управління базами даних
- •Основні поняття та визначення бд
- •Архітектура бази даних. Фізична та логічна незалежність
- •5. Поняття інформаційно-логічної моделі
- •Етапи життєвого циклу бази даних
- •Основні функції субд
- •Типова організація сучасної субд
- •Класифікація моделей даних
- •11.Ієрархічна модель даних.
- •12.Моделі засновані на інвертованих списках.
- •13.Реляційні бази даних.
- •14.Основні оператори реляційної алгебри.
- •15. Основні елементи er-моделі
- •16. Основні етапи побудови логічної моделі
- •17. Таблиці, унікальність і ключі
- •18. Зовнішні ключі і домени
- •1. Цілісність сутностей
- •2. Цілісність значень
- •21. Перша нормальна форма
- •22. Друга нормальна форма
- •23. Третя нормальна форма
- •Четверта нормальна форма
- •Нормальна форма Бойса-Кодда (нфбк)
- •П’ята нормальна форма
- •Кодування та набори сортування в sql
- •Тема 3. Створення таблиць
- •1. Команда створення таблиці.
- •2. Заборона значення null за допомогою обмеження not null
- •Властивість identity оператора create table
- •Обмеження primary key оператора create table
- •Обмеження foreign key оператора create table
- •Обмеження unique оператора create table
- •Обмеження check оператора create table
- •Обмеження default оператора create table
- •Вказівка стовпців в операторі select
- •42.Використання арифметичних операторів в запиті на вибірку даних
- •43.Використання директиви group by
- •44.Об'єднання результатів запиту за допомогою директиви union
- •45.Використання строкових функцій
- •46.Використання числових функцій
- •47.Додавання даних до таблиці за допомогою оператора insert
- •48.Використання та синтаксис оператора replace
- •49.Використання оператора update
- •50.Видалення даних в sql
Кодування та набори сортування в sql
Побудова запросу: Пишіть зарезервовані слова у верхньому регістрі. Пишіть назви колонок у нижньому регістрі. Пишіть назви таблиць у фігурних дужках {}. Це дозволить автоматично працювати з префіксами таблиць. Аргументи змінних (які зазвичай використовуються користувачами) потрібно виносити зі змісту запиту і обробляти як окремі параметри в db_query (), db_query_range (), db_query_temporary () і так далі. Зміст запиту має містити заповнювачі певного типу для кожного аргументу (% d |% s |%% |% f |% b). Це гарантує правильну обробку даних і запобіжить SQL-ін'єкції. Запобігти SQL-ін'єкції просто; db_query () дає можливість використовувати параметризрвані запити. Функції бази даних друпал замінюють sprintf-подібні заповнювачі правильно обробленими аргументами в порядку появи: (% D - цілі числа; % F - цифри з плаваючою комою; % S - рядки в одинарних лапках; % B - двійкові дані не укладених в одиночні лапки; %% - Замінюється на%). Додаткову інформацію можна знайти на сторінці Database Access. Літерні (постійні) аргументи можуть бути або включені в зміст запиту або оброблені тим же шляхом, що й аргументи змінних. Будь літерні значення або заповнювачі% повинні бути укладені в одиночні лапки. Ніколи не використовуйте подвійні лапки.
Іменування в таблицях: Для назв таблиць використовуйте іменники в однині, які описують призначення таблиці. Привласнюйте таблицям префікс, який відповідає назві модуля. Це дозволяє запобігти конфліктам пов'язані з простором імен. Іменуйте все що можна (первинні, зовнішні, унікальні ключі). В іншому випадку, в повідомленні про помилку, ви побачите смішне ім'я згенеровані системою. Це трапилося з таблицею {moderation_roles}, яка спочатку визначила клюю без явного імені як KEY (mid). Це отримав mysqldump як KEY mid (mid), що в результаті призвело до синтаксичну помилку, так як запис mid () розуміється як функція MySQL (дивіться повідомлення mysql - ansi cannot import install database). Назва індексу повинно починатися з назви таблиці від якої він залежить. Наприклад,. INDEX users_sid_idx.
Більшість серверів баз даних використовують додаткові розширення на додаток до стандартного SQL. Тим не менше, більшість їх таких серверів може бути налаштоване для роботи в режимі, який відповідає стандартним вимогам. Всім розробникам рекомендується використовувати режим найбільшою сумісності зі стандартним режимом, що дозволить уникнути проблем з працездатністю коду на різних серверах.
Не використовуйте зарезервовані слова (ANSI) SQL, MySQL, PostgreSQL, MS SQL Server і так далі, для іменування таблиць і стовпців в таблицях навіть у тому випадку, якщо це працює на вашому сервері, тому що це може не працювати на інших серверах або з іншими базами даних. Найбільш часто неправильно вжиті слова: TIMESTAMP, TYPE, TYPES, MODULE, DATA, DATE, TIME.
Сортування записів в порядку зростання або зменшення значень полів здійснюється за допомогою операнду ORDER BY. Після нього вказується список полів, за якими повинно виконуватися сортування. Записи будуть впорядковані в залежності від порядку зазначення полів. Спочатку виконується сортування за першим вказаним полем; далі для записів, що мають однакове значення першого поля, відбувається впорядкування за другим полем тощо.
Сортування може виконуватися як для індексованих, так і для неіндексованих полів. Поля в списку позначаються іменами або номерами, які відповідають порядку розташування полів в списку після ключового слова SELECT.
За умовчанням здійснюється сортування в порядку зростання значень полів. Описувач DESC, який вказується після імені (або номеру) відповідного поля, дозволяє впорядкувати записи за зменшенням значень даного поля.
28. Створення таблиць