Курсът “Бази данни” е сред началните курсове за професиите “Програмист“, “Приложен програмист” и “Системен програмист” съгласно държавните общообразователни изисквания. Настоящата учебна програма е приложима както за професионалните гимназии, така и за други учебни заведения.
Разпределение
- 72 учебни часа (18 седмици по 4 часа)
- 11 клас, първи учебен срок
Учебна програма
Настоящата учебна програма по “Бази данни” е разработена от експертната група към МОН по проект “Професия приложен програмист”.
№ |
Наименование на разделите
|
Минимален брой часове
|
1. |
Въведение в базите данни
- Предназначение на базите от данни, създаване на бази от данни. Практическо въведение с примери: бази, таблици, записи, колони, типове данни, работа с визуални инструменти за управление на бази от данни
- DDL: създаване на таблици и типове данни (CREATE, DROP и ALTER)
- Упражнения: създаване на бази от данни с таблици без връзки между тях (потребители, градове, оценки на ученици от предмети)
- Прости SELECT заявки върху създадените таблици
|
8 |
2. |
Моделиране на релационни бази от данни
- Релационнен модел и типове връзки (one-to-many, many-to-many)
- Ограничения, identity / autoincrement колони, ключове (primary / unique / foreign key, composite key, check, not null, default)
- Нормализация (първа, втора и трета нормална форма)
- Упражнения: създаване на сложни бази от данни с таблици с връзки между тях, например:
- Телефонен указател – потребители, контакти, телефони
- Фирма – потребители, потребителски групи, задачи, отчетени часове
|
8 |
3. |
Заявки за извличане и промяна на данни
- Извличане на данни, филтри по колони, филтри по редове, концепция за result sets и как се строи result set при изпълнение на SELECT команда (SQL команди SELECT, WHERE, логически оператори AND / OR)
- Упражнения: извличане на данни от готови бази – телефонен указател, фирма
- DML: манипулация на данни с INSERT, UPDATE и DELETE
- Упражнения: въвеждане / промяна / изтриване на данни – телефонен указател, фирма
|
8 |
4. |
Сложни заявки за извличане на данни
- Вложени SQL заявки, псевдоними и оператори за множества (ALL, ANY, EXISTS, IN)
- Упражнения върху вложени SQL заявки
- Сортиране на резултати, странициращи заявки, заявка към result sets (ORDER BY, LIMIT)
- Упражнения: извличане на данни за групи от потребители – задачи дадени на потребители от конкретна група (заявки през няколко таблици)
|
8 |
5. |
Съединения на таблици (SQL JOIN)
- Декартово произведение на таблици и съединения с WHERE
- Упражнения: извличане на данни от няколко таблици
- Заявки с JOIN клауза (INNER, LEFT, RIGHT, FULL, CROSS)
- Упражнения: заявки с JOIN клаузи, търсене на дублиращи се записи в таблица
|
8 |
6. |
Агрегация и групиране на данни
- Агрегиращи функции (AVG, MIN, MAX, SUM, COUNT)
- Упражнения за агрегиращи функции
- Групиране на данни и филтър в групите (GROUP BY, HAVING)
- Упражнения върху групиране:
- Заявки с разбивка по периоди, извличане на хората работили под определени часове на седмица, извличане на средния брой отчетени часове, извличане на средния брой поети задачи по служител и по група
- Бонус: условни конструкции в заявки и създаване на PIVOT result sets (CASE)
|
8 |
7. |
Скаларни функции, работа с дати, транзакции
- Скаларни функции и работа с дати (CAST, ISNULL, DATEPART, DAY, MONTH, YEAR, GETDATE, DATEADD)
- Упражнения: разбивка на дата в няколко колони (месец, година, ден), изчисляване на броя дни до дата
- Упражнения: работа с функции и дати
- Транзакции и нива на изолация
|
8 |
8. |
Подготовка за практически изпит
- Създаване на таблици, модификация на колони, въвеждане на записи, промяна на съществуващи записи
- Извличане на данни с прости заявки
- Извличане на данни със съединения на таблици
- Групиращи заявки, агрегатни и скаларни функции
|
4 |
9. |
Практически изпит
- Практически изпит по СУБД – създаване на таблици, въвеждане, модификация и изтриване на данни, извличане на данни
|
4 |
|
Общ минимален брой часове |
64 |
|
Резерв часове |
8 |
|
Общ брой часове |
72 |
Свободно учебно съдържание
Всички учители, преподаватели и ентусиасти могат да изтеглят свободно учебно съдържание за курса “Бази данни”, което включва:
- Презентации за всяка тема с много високо качество
- Добре разписани задания за упражнения за всяка тема с judge система за онлайн оценяване за всяка задача
- Видео уроци от учебните занятия, провеждани в този курс в Софтуерния Университет
- Примерни задачи за изпит и тренировъчна judge система за оценяване на изпити
Курсът е част от свободното учебно съдържание на СофтУни фондацията за професия “Приложен програмист”.