Невизначені або пропущені дані (NULL)
Для позначення відсутніх, пропущених або невідомих значень атрибута в SQL використовується ключове слово NULL. Досить часто можна зустріти словосполучення «атрибут має значення NULL». Строго говорячи, NULL не є значенням у звичайному розумінні, а використовується саме для позначення того факту, що дійсне значення атрибута насправді пропущене або невідомо. Це приводить до ряду особливостей, що варто враховувати при використанні значень атрибутів, які можуть перебувати в стані NULL. • В агрегуючих функціях, що дозволяють одержувати зведену інформацію з безлічі значень атрибута, наприклад сумарне або середнє значення, для забезпечення точності й однаковості тлумачення результатів відсутні або NULL-значення атрибутів ігноруються. • Умовні оператори від булевої двозначної логіки TRUE/FALSE розширюються до тризначної логіки TRUE/FALSE/UNKNOWN. • Всі оператори, за винятком оператора конкатенації рядків «||», повертають порожнє значення (NULL), якщо значення кожного з операндів відсутнє (має «значення NULL»). • Для перевірки на порожнє значення варто використати оператори is NULL і is NOT NULL (використання із цією метою оператора порівняння «=» є помилкою). • Функції перетворення типів, що мають NULL як аргумент, повертають порожнє значення (NULL).
Використовувані терміни й позначення Ключові слова — це використовувані у вираженнях SQL слова, що мають спеціальне призначення (наприклад, конкретні команди SQL). Ключові слова не можна використовувати для інших цілей, наприклад, як імена об'єктів бази даних. У тексті вони виділяються шрифтом: КЛЮЧОВЕ слово. Команди, або речення, є інструкціями, за допомогою яких SQL звертається до бази даних. Команди складаються з однієї або більше логічних частин, називаних реченнями. Речення починаються ключовим словом і складаються із ключових слів і аргументів.
Об'єкти бази даних, що мають імена (таблиці, атрибути й ін.), у тексті також виділяються особливим образом: ТАБЛИЦА1, АТРИБУТ_2. В описі синтаксису команд SQL: • оператор визначення «::=» розділяє елемент (ліворуч від оператора) якій треба визначити,(ліворуч від оператора) і властиво його визначення (праворуч від оператора); • квадратні дужки «[ ]» указують необов'язковий елемент синтаксичної конструкції; • три крапки «...» визначають, що вираз, що передує їм, може повторюватися будь-яке число раз; • фігурні дужки «{ }» поєднують послідовність елементів у логічну групу, один з елементів якої повинен бути обов'язково використаний; • вертикальна риска «|» указує, що частина виразу, що стоїть за цим символом, є одним з можливих варіантів; • у кутові дужки «< >» записуються елементи, що пояснюються в міру того, як вони вводяться. Навчальна база даних
У прикладах побудови SQL-запитів і контрольних вправах використовується база даних, що складається з наступних таблиць:
Таблиця STUDENT (Студент)
STUDENT ID — числовий код, що ідентифікує студента, SURNAME - прізвище студента, NAME - ім'я студента,
STIPEND - стипендія, що одержує студент, KURS - курс, на якому вчиться студент, CITY - місто, у якому живе студент, BIRTHDAY - дата народження студента, UNIV_ID - числовий код, що ідентифікує університет, у якому вчиться студент.
Таблиця LECTURER (Викладач)
LECTURER ID - ЧИСЛОВИЙ КОД, що ідентифікує викладача, SURNAME - прізвище викладача, NAME - ім'я викладача, CITY - місто, у якому живе викладач, UNIV_ID - ідентифікатор університету, у якому працює викладач.
Таблиця SUBJECT (Предмет навчання)
SUBJ_ID - ідентифікатор предмета навчання, SUBJ_NAME - найменування предмета навчання, HOUR - кількість годин, що відводяться на вивчення предмета, SEMESTER - семестр, у якому вивчається даний предмет.
Таблиця UNIVERSITY (Університети)
UNIV_ID - ідентифікатор університету, UNIV_NAME - назва університету, RATING - рейтинг університету, CITY - місто, у якому розташований університет.
Таблиця EXAM_MARKS (Екзаменаційні оцінки)
EXAM_ID - ідентифікатор іспиту, STUDENT_ID - ідентифікатор студента, SUBJ_ID - ідентифікатор предмета навчання, MARK - екзаменаційна оцінка, EXAM_DATE - дата іспиту.
Таблиця SUBJ_LECT (Навчальні дисципліни викладачів)
LECTURER_ID - ідентифікатор викладача, SUBJ_ID - ідентифікатор предмета навчання.
3. Практична частина
Читайте также: Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|