- •Архітектура систем з базами даних
- •Інформаційне моделювання предметних середовищ
- •Ієрархічна, мережна та реляційна моделі даних
- •Операції реляційної алгебри та їх реалізація на мові sql.
- •Операции над множествами.
- •Специальные реляционные операции.
- •Мова запитів sql. Операція вибірки select.
- •Вкладені та корельовані підзапити в мові sql, агрегатні функції та квантори.
- •Операції модифікації даних у мові sql: update, insert, delete.
- •Теорія нормалізації. Функціональна залежність між атрибутами. Аномалії модифікації у ненормалізованій бд. Переваги нормальних форм. Способи одержання нормальних форм.
- •Моделі взаємодії в архітектурі “клієнт-сервер” та субд, що їх підтримують.
- •Проблеми одночасного доступу користувачів до бд та використання транзакцій.
- •Інтерфейси доступу до бд з різних програмних середовищ.
- •Характеристика сучасних реляційних субд.
- •Еталонна модель взаємодії відкритих систем.
- •Організація доступу до спільного середовища передачі даних csma/cd
- •Стандарти мережі Ethernet на мідному кабелі.
- •Стандарти мережі Ethernet на оптоволоконному кабелі.
- •Організація бездротових комп'ютерних мереж та їх стандарти.
- •Об’єднання сегментів у мережі Ethernet за допомогою концентраторів, комутаторів та маршрутизаторів.
- •Структура та робота комутатора в мережах Ethernet.
- •Інтелектуальні комутатори та віртуальні лом на їх основі.
- •Класифікація лом у відповідності з ieee 802.
- •Аналіз функціонування обчислювальних мереж. Можливості мережних аналізаторів.
- •Призначення та можливості протоколів сімейства tcp/ip.
- •Мережні транспортні протоколи: ipx/spx, NetBios. Особливості та застосування.
- •Кадр инициализации сессии. Кадр подтверждения сессии. Кадр опознания имени.
- •Протокол udp. Структура дейтаграм, застосування.
- •Протокол тср. Структура сегментів, застосування. Встановлення та завершення з'єднання.
- •Адресація у мережних транспортних протоколах.
- •Поняття маршрутизації. Приклад статичної маршрутизації в невеликій мережі.
- •Класифікація протоколів динамічної маршрутизації.
- •Протокол icmp. Призначення, основні типи повідомлень.
- •Система доменних імен dns. Правила делегування зон в Інтернеті.
- •Налагодження системи імен dns для корпоративної мережі. Структура прямої та зворотньої зони dns.
- •Інтерфейс сокетів та його застосування при програмуванні мережних задач. Типи сокетів та сімейства адрес.
- •Передача даних через сокети у режимі дейтаграм.
- •Передача даних через сокети у режимі та сесій.
- •Моделі програмування серверних потокових сокетів.
- •Програмування комунікаційних протоколів прикладного рівня.
- •Архітектура систем з базами даних
Мова запитів sql. Операція вибірки select.
До SQL были языки ISBL, QBE фирмы IBM. А также языки разрабатываемые в университетах США (PIQUE, QUEL). QUEL (использующий реляционное исчисление) - создавался для СУБД INGRES. Сегодня сохранились и развиваются QBE, SQL.
SQL (Structured Query Language — язык структурированных запросов) — универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных. Вопреки существующим заблуждениям, SQL является информационно-логическим языком, а не языком программирования.
SQL основывается на реляционной алгебре.
Язык SQL делится на четыре части:
операторы определения данных (англ. Data Definition Language, DDL)
операторы манипуляции данными (англ. Data Manipulation Language, DML)
операторы определения доступа к данным (англ. Data Control Language, DCL)
операторы управления транзакциями (англ. Transaction Control Language, TCL)
Преимущества:
- Независимость от конкретной СУБД. Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую.
- Наличие стандартов. Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка.
- Декларативность (С помощью SQL программист описывает только то, какие данные нужно извлечь или модифицировать. То, каким образом это сделать, решает СУБД непосредственно при обработке SQL-запроса. Программист описывает набор данных для выборки или модификации, однако ему при этом полезно представлять, как СУБД будет разбирать текст его запроса. Особенно критичными такие моменты становятся при работе с большими базами данных и со сложными запросами — чем сложнее сконструирован запрос, тем больше он допускает вариантов написания, различных по скорости выполнения, но одинаковых по итоговому набору данных)
В настоящее время язык SQL стал стандаpтным языком запpосов к БД. Основной опеpацией в языке SQL является отобpажение, котоpое синтаксически пpедставляет собой блок SELECT ...FROM ... WHERE. Эта опеpация получает сначала гоpизонтальное подмножество записей, а затем веpтикальное.
Возможность соединения таблиц заключена во фpазе FROM. Hа языке pеляционной алгебpы для этой цели пpишлось бы использовать последовательность опеpаций JOIN, PROJECT, SELECT. Допустимы вложенные запpосы.
Общий вид предложения запроса выглядит следующим образом:
SELECT [DISTINCT]<колонки>
FROM <таблицы>
WHERE <условие>
GROUP BY <колонки>
HAVING <условие >
ORDER BY <колонки> ASC/DESC
SELECT определяет, какие колонки должна иметь результирующая таблица. Символ "*" обозначает, что результирующая таблица должна включать в себя все колонки всех таблиц, на основе которых строиться запрос
FROM определяет список таблиц, на основе которых строится запрос.
WHERE позволяет указать условие, которому должны удовлетворять значения в строках результатирующего отношения.
GROUP BY определяет список имен колонок, по одинаковым значениям которых будет выполняться группировка строк. Т.е. строки с одинаковыми значениями в указанных колонках будут представлены в результирующем отношении одной строкой.
HAVING позволяет определить из множества сгруппированных строк только те, которые удовлетворяют указаному условию.
Для упорядочивания итогового результата в SQL используется фраза ORDER BY с ключевыми словами: ASC (по возрастанию) и DESC (по убыванию).
В SQL допускается любая вложенность запросов, однако конкретная реализация ограничивает вложенность. В подзапросе и во внешнем запросе может использоваться одна и та же таблица.
В SQL допускается соединение таблиц с собой (самообъединение). При этом каждая строка таблицы комбинируется с ее копией и с другой строкой этой таблицы. В дальнейшем каждая такая комбинация оценивается с помощью предиката и в зависимости от его значения попадает или не попадает в предикат. Синтаксис операции соединения сохраняется, но надо иметь возможность ссылаться на две разные копии одной таблицы. Для этой используются псевдонимы (алиасы), которые определяются во фразе from, после имен таблиц. Для исключения дубликатов из результата в SQL используется фраза DISTINCT.
Возможно использование фразы Between для выборки определенного значения результата.
Предикат IN (принадлежит) – позволяет выбрать нужные значения из списка.