• 0 Items - 0.00лв.
    • Количката е празна
-25%

20.96лв.

Бази данни

структура на базите данни, синтаксис на SQL и много примери

Share

В тази книга, чрез множество полезни примери, ще се запознаете с устройството на базите данни и синтаксиса на SQL.
Вникнете в логиката зад релационния модел на базите данни, неговите компоненти, поддържани структури, основите на релационната алгебра и принципите на проектиране на бази данни.

За да бъде книгата възможно най-полезна, в нея са представени и основите на езика SQL, командите за работа с таблици и използването на изгледи.
Неизменна част от изучаването на бази данни е практиката. Този наръчник ще ви бъде полезен при създаване на индекси; изменение на съществуваща таблица; писане на сложни заявки към няколко таблици; работа с псевдоними и множества; използване на транзакции в многопотребителски бази данни; използване на индекси за повишаване на производителността на изпълнение на SQL заявките.

Особено внимание е отделено на определянето на правата за достъп на потребителите – управление на привилегиите, възстановяване на паролата на root потребителя. Обяснени са и основните конструкции на езика PL/SQL.

Книгата не е обвързана с конкретна СУБД, но в нея се разглеждат някои особености на най-разпространените – Oracle и MySQL.

Година

2023

Формат

162х235

Страници

286

Корици

Меки

Преводач

Влади Владев

Редактор

Ивелин Михайлов

Съдържание

Въведение…7
Аудитория…8

Глава 1. Основни понятия…9
1.1. Терминология и базови принципи…9
1.2. Система за управление на база данни…10
1.3. Модели данни…13
1.3.1. Проектиране на база данни…13
1.3.2. Концептуален модел…15
1.3.3. Нерелационни логически модели данни…15
1.3.4. Мрежов модел…17

Глава 2. Релационен модел…19
2.1. Особености на релационния модел…19
2.2. Компоненти на релационния модел на данните…20
2.3. Поддържани структури данни…21
2.4. Цялостност на данните…22
2.5. Релационна алгебра…28
2.6. Релационно изчисление…31

Глава 3. Проектиране на БД…33
3.1. Семантичен анализ на предметната област…33
3.1.1. Моделът ANSI/SPARC…33
3.1.2. Диаграмите „Същност – връзка“…35
3.2. Нормализация на базата данни…41
3.2.1. Функциаонални зависимости…42
3.2.2. Математически свойства на функционалната зависимост…43
3.2.3. Процедура по нормализация…45
3.2.4. Нормални форми…47
3.3. Денормализация…54

Глава 4. Въведение в езика SQL…57
4.1. Малко за SQL…57
4.2. Клас команди DDL…61
4.2.1. Общ вид на DDL командите…61
4.2.2. Основни обекти на базата данни…62
4.2.3. Командата CREATE TABLE. Създаване на таблица…65
4.2.4. Изтриване на таблица …75
4.2.5. Промяна на структурата на таблицата…75
4.2.6. Команда TRUNCATE TABLE…90
4.3. Клас на командите DML…91
4.3.1. Команда INSERT…92
4.3.2. Оператор UPDATE: обновяване на записи…94
4.3.3. Оператор DELETE: изтриване на записи…96
4.3.4. Оператор SELECT: селектиране на записи…97
4.4. Изгледи…105
4.4.1. Команда CREATE VIEW…105
4.4.2. Обновяване на изгледа…107
4.4.3. Команда UPDATE за изгледи…107
4.4.4. Групови изгледи…108
4.4.5. Изгледи и сложни заявки…108
4.4.6. Ограничения на изгледите…110
4.4.7. Обновяеми изгледи…111
4.4.8. Проверка на изгледите…113
4.4.9. Изключвани полета…114

Глава 5. SQL: практикум…117
5.1. Къде да въвеждаме SQL заявки?…117
5.2. Създаване на база данни…118
5.3. Проектиране на БД за последваща работа…120
5.4. Добавяне на данни – практическо използване на оператора INSERT…127
5.4.1. Базово използване на INSERT…127
5.4.2. NULL стойности…128
5.4.3. Добавяне на данни от една таблица в друга…129
5.4.4. Използване на UUID…131
5.5. Селектиране – практическо използване на оператора SELECT…133
5.5.1. Базова употреба…133
5.5.2. Изключване на дублиращите се елементи от селекцията…138
5.5.3. Ограничаване на резултатите…139
5.5.4. Избор на случайни записи. Функция RAND()…139
5.5.5. Агрегатни функции…140
5.5.6. Сложни условия. Релационни и булеви оператори…141
5.5.7. Специални оператори, използвани при селектиране…146
5.5.8. Подробно за сортирането…151
5.6. Операторът UPDATE – обновяване на запис…154
5.7. Операторът DELETE – изтриване на записи…155
5.8. Агрегатни функции…157
5.8.1. За какво са необходими агрегатните функции…157
5.8.2. Употреба на агрегатните функции…157
5.8.3. Специални атрибути на функция COUNT…159
5.8.4. Скаларни изрази в агрегати…161
5.8.5. Изразът GROUP BY…161
5.8.6. Изразът HAVING. Изключване на режима ONLY_FULL_GROUP_BY…162
5.8.7. Вложени агрегати…165
5.9. Създаване на индекси…165
5.10. Изменение на съществуваща таблица. Добавяне на поле в таблица customers…167
5.11. Сложни заявки…170
5.11.1. Пълни имена на колоните…170
5.11.2. Извеждаме имената на клиентите в таблицата на поръчките…170
5.11.3. Вложени и свързани заявки…172
5.11.4. Подзаявки с INSERT, DELETE и UPDATE…179
5.12. Обединения при работа с една таблица. Псевдоними…184
5.12.1. Псевдоними на таблици…184
5.12.2. Практическо използване на псевдоними…185
5.12.3. Допълнителна информация за използването на псевдоними…187
5.13. Множества…188
5.13.1. Множества и операции с тях…188
5.13.2. Операторът UNION (обединение)…189
5.13.3. Операторите INTERSECT и EXCEPT…191
5.14. Операторът EXISTS и свързаните с него оператори…192
5.14.1. Принцип на работа на оператора…192
5.14.2. Операторите ANY и SOME…195
5.14.3. Използване на IN вместо ANY…196
5.14.4. Операторите ANY и EXISTS…197
5.14.5. Операторът ALL…197
5.15. Цялост на данните…198
5.15.1. Родителски ключове …199
5.15.2. Създаване на външни ключове в нашата демо база данни…201
5.15.3. Ограничения…203
5.15.4. Референция към една и съща таблица…206

Глава 6. Транзакции…208
6.1. Въведение в многопотребителските бази данни…208
6.2. Транзакции…210
6.3. Избор на механизъм за съхранение…214

Глава 7. Индекси…219
7.1. Въведение в индексите…219
7.2. Обзор на индексите в Oracle…221
7.3. B-дървета…222
7.4. Хеширани индекси…227
7.5. Битови индекси…228
7.6. Индекс-таблица…229

Глава 8. Въведение в езика PL/SQL…231
8.1. За какво ни е нужен PL/SQL?…231
8.2. Предимства и недостатъци на съхранените програми…232
8.3. Първа програма на PL/SQL…234
8.4. Типове данни в PL/SQL…235
8.5. Структура на програмата на PL/SQL…236
8.5.1. Структура на блока…236
8.5.2. Видове блокове…237
8.5.3. Коментари…238
8.6. Променливи и константи в PL/SQL…238
8.7. Условни команди…239
8.7.1. Командата IF…239
8.7.2. Команда CASE…240
8.8. Цикли…244
8.8.1. Прост цикъл…244
8.8.2. Цикъл WHILE с предусловие…245
8.8.3. Цикъл с брояч FOR…246
8.9. SQL в съхранявани програми…247

Глава 9. Безопасност в Oracle, одит и съответствие…251
9.1. Безопасност…251
9.1.1. Потребителски имена, привилегии, групи и роли…252
9.1.2. Управление на идентичността…254
9.1.3. Права за безопасност…254
9.1.4. Специални роли: DBA, SYSDBA и SYSOPER…255
9.1.5. Политики…257
9.1.6. Ограничение на достъпа до специфични данни…258
9.1.7. Безопасност, базирана на изгледи…258
9.1.8. Детайлизирано управление на достъпа…259
9.1.9. Опция Label Security…260
9.1.10. Роли и пълномощия на приложението …261
9.1.11. Разпределена база данни и нива на безопасност…263
9.1.12. Управление на разпределена безопасност…263
9.1.13. Нива на безопасност…263
9.1.14. Опция Advanced Security…264
9.1.15. Шифроване…266
9.1.16. Редакция на данните…266
9.1.17. Безопасно резервно копиране…267
9.2. Одит…267
9.3. Съответствие…269
9.3.1. Опция Vault…270
9.3.2. Опция Oracle Audit Vault Server…272
9.3.3. Архивът на данни Flashback…273
9.3.4. Прозрачна защита на важни данни…273

Глава 10. Определяне на права за достъп до данните…274
10.1. Потребители …274
10.2. Привилегии на потребителя …280
10.3. Команда GRANT…280
10.4. Изразът WITH GRANT OPTION…283
10.5. Лишаване от привилегии. Командата REVOKE…284
10.6. Привилегиите CONNECT, RESOURCE и DBA…284
10.7. Възстановяване на паролата на потребителя root в СУБД MySQL…285