
- •Тема 1 Вступ
- •Походження обчислювальних машин
- •Еволюція комп’ютерних наук
- •Роль абстракції в комп’ютерних науках
- •Тема 2 Зберігання даних
- •Зберігання бітів у вентилях і тригерах
- •Зберігання бітів в магнітному осерді .
- •3) Шістнадцяткова система числення
- •7) Основна пам'ять комп’ютера.
- •8) Магнітні диски.
- •9) Компакт диски.
- •10) Магнітні стрічки
- •Тема 3. Обробка даних
- •Центральний процесор.
- •2)Регістри центрального процесора і кеш пам'ять.
- •3) Інтерфейс між центральним процесором та основною пам’яттю.
- •4) Машинні процедури та cisc-і risc-архітектура комп'ютерів
- •5) Інструкції передачі даних
- •6) Арифметично-логічні інструкції та інструкції управління
- •7) Концепція збереженої програми і представлення машинних інструкцій бітовими комбінаціями.
- •8) Машинний код і кодування інструкцій типового комп’ютера.
- •9) Формат поля операндів.
- •10) Загальний процес виконання програми.
- •12) Програми і дані
- •Тема 4. Операційні системи
- •1)Поняття і приклади операційних систем
- •2) Еволюція операційних систем
- •3) Пакетна обробка даних
- •4) Інтерактивна обробка даних
- •7) Компоненти операційної системи – файловий менеджер
- •8) Компоненти операційної системи – менеджер пам’яті
- •9) Компоненти операційної системи – драйвери пристроїв
- •10) Архітектура операційних систем – класифікація програмного забезпечення
- •13)Запуск операційної системи
- •14)Координація роботи комп’ютера - процеси і міжпроцесна взаємодія
- •15)Координація роботи комп’ютера - диспетчеризація
- •16)Модель "клієнт / сервер"
- •Тема 5 Сітьова передача даних та Інтернет
- •Поняття комп’ютерної мережі.
- •Різновиди комп’ютерних мереж
- •Мережеві топології
- •Протоколи комп’ютерних мереж
- •5)Об’єднання комп’ютерних мереж - повторювачі, мости та комутатори
- •6)Об’єднання комп’ютерних мереж – маршрутизатор
- •7)Технологія Ethernet
- •8)Міжпроцесна взаємодія в комп’ютерних мережах
- •9)Модель "клієнт / сервер" в комп’ютерних мережах
- •10)Однорангові комп’ютерні мережі
- •11)Internet - поняття та історія
- •12)Internet – архітектура
- •13)Internet – підключення
- •14)Internet – адресація
- •15)Internet – застосування
- •16)World Wide Web – концепція
- •17)World Wide Web - реалізація
- •20)Internet - протоколи - рівневий підхід до програмного забезпечення
- •21)Internet - протоколи tcp/ip, udp
- •22)Безпека Internet - основні методи захисту
- •23)Безпека Internet – шифрування
- •24)Засоби правового захисту для безпеки комп'ютерних мереж
- •Тема 6. Алгоритми
- •Тема 8. Технологія розробки програмного забезпечення
- •Предмет технологій розробки програмного забезпечення.
- •Життєвий цикл програмного забезпечення – модульність.
- •Етапи розробки програмного забезпечення, які передбачено у моделі водоспаду.
- •6)Шаблони проектування програмного забезпечення
- •Які особливості застосування моделі швидкої розробки програмного забезпечення
- •Тестування програмного забезпечення
- •10) Документація програмного забезпечення
- •11) Право власності та відповідальність за створюване програмне забезпечення
- •Тема 9. Структури даних
- •Масиви даних
- •Списки даних – вказівники.
- •Списки даних – безперервні списки.
- •Списки даних – зв’язні списки.
- •Поняття стеку.
- •Стеки – механізм повернення.
- •Стеки – реалізація стеків.
- •Поняття черги
- •Деревовидні структури
- •Пакет реалізації бінарних дерев
- •Тема 10. Структури баз даних
- •Основні поняття бази даних
- •Багаторівневий підхід до реалізації баз даних
- •Реляційна модель баз даних
- •Реляційні операції
- •Реляційна модель бд – реляційне проектування
- •Мова sql
- •Об'єктно-орієнтовані бази даних
- •Забезпечення цілісності бд - протокол фіксації / відкоту змін в бд
- •Вплив технологій баз даних на суспільство
- •Тема 11. Штучний інтелект
- •Що таке штучний інтелект
- •Розпізнавання зображень
- •Система породження
- •Дерева пошуку
- •Евристичні методи
- •Властивості штучних нейронних мереж
- •Генетичні алгоритми
- •Застосування теорії штучного інтелекту – опрацювання мови.
- •Застосування теорії штучного інтелекту - робототехніка.
- •Поняття експертних систем
- •Наслідки розвитку штучного інтелекту
- •Тема 12. Теорія обчислень
- •1.Найпростіша мова програмування
- •2.Найпростіша мова програмування – оператори опису даних.
- •3.Найпростіша мова програмування – імперативні оператори.
- •4.Можливості програм, написаних на найпростішому мові
- •5.Поняття Машини Тюрінга
- •6.Поняття обчислюваних функцій
- •7.Теза Черча-Тьюринга
- •8.Універсальність найпростішої мови програмування
- •9.Необчислювані функції
- •13.Криптографія з використанням відкритих ключів
- •Тема 7. Мови програмування
- •Парадигми програмування.
- •Концепції традиційного програмування - змінні, константи і літерали.
- •Концепції традиційного програмування – типи даних.
- •Поняття структури даних
- •Оператори присвоєння.
- •Процедури і їх параметри.
- •Поняття функції.
- •Об’єктно-орієнтоване програмування
- •Декларативне програмування
- •Програмування паралельних процесів
- •Мова prolog це 12 питання
Реляційні операції
Розглянемо яким чином дана структура може використовуватися при розробці програм
Розпочнемо обговорення з декількох операцій між відношенням
В деяких випадках потрібно просто отримувати кортежі з відношень
В результаті виконання операції вибору (SELECT) буде здійснюватися вибірка, яка формуватиме нове відношення (таблицю) з відповідних кортежів
Формат операції вибору можна записати наступним чином:
NEW SELECT from EMPLOYEE where EmplId = “34Y70”
Семантика даного правила визначає нове відношення з іменем NEW, яке містить ті кортежі відношення EMPLOYEE, в яких значення атрибуту дорівнюють “34Y70”
На противагу операції SELECT існує операція PROJECT, яка призначена для отримання стовпців
Як було вказано у попередньому прикладі, SELECT вибирає дані з кортежів, що відповідають заданим умовам
У випадку потреби отримання даних зі сформованого відношення напр. посади, слід скористатися наступною операцією
NEW2 PROJECT JobTitle from NEW1
Іншим прикладом використання є наступна операція
MAIL PROJECT Name, Address from EMPLOYEE
Третьою операцією є операція JOIN
Основна задача — об’єднання двох різних відношень
набір атрибутів включає всі атрибути вхідних відношень
імена атрибутів вхідних відношень не відрізняються нічим окрім наявності префіксу материнського відношення
такий принцип гарантує унікальність атрибутів, навіть в тому випадку, коли вони мають однакові імена C JOIN A and B where A.W = B.X
Нові кортежі формуються шляхом конкатенації кортежів вхідних повідомлень
Для того щоб об’єднати 2 структури потрібно:
NEW1 ← JOIN ASSIGNMENT and JOB where ASSIGNMENT.Jobld = JOB.Jobld
NEW2 ← SELECT from NEW1 where ASSIGNMENT .TermDate = "*"
LIST ← PROJECT ASSIGNMENT.EmplId, JOB.Dept from NEW2
Реляційна модель бд – реляційне проектування
Фізичний спосіб зберігання інформації в БД описується в термінах систем масової пам’яті
Для забезпечення програміста базовими засобами програмування БД повинна містити процедури, які виконуватимуть реляційні операції SELECT, PROJECT та JOIN
Для СКБД найпростішим методом зберігання даних є представлення окремих відношень у вигляді файлів, в якому кожен кортеж відділяється логічним записом
Однак при виконанні операції SELECT файл потрібно зчитувати послідовно, що призведе до затримок у процесі роботи з даними
Тому для представлення великого відношення використовується індексований файл
Одним з найпопулярніших інструментів, який забезпечує роботу згаданих нами операцій є мова SQL
SQL (Structured Query Language) — найпоширеніша мова керування даними в СКБД
Послідовність операцій SELECT, PROJECT та JOIN можна представити за допомогою єдиного оператора
Select Emp1Id, Dept from ASSIGMENT.JobId = JOB.JobId and ASSIGNMENT.TermDate = ‘*’
Всі запити є декларативними операторами
Чітко визначена послідовність операцій — відсутня
Мова sql
SQL (англ. Structured query language — мова структурованих запитів) — декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не будучи мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, будучи вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних.
SQL — це діалогова мова програмування для здійснення запиту і внесення змін до бази даних, а також управління базами даних. Багато баз даних підтримує SQL з розширеннями до стандартної мови. Ядро SQL формує командна мова, яка дозволяє здійснювати пошук, вставку, обновлення, і вилучення даних, використовуючи систему управління і адміністративні функції. SQL також включає CLI (Call Level Interface) для доступу і управління базами даних дистанційно.