Левое, правое... 447
Пока мы занимались внешними соединениями... 457
С союзами разобрались, пора переходить к... 471
Ограничения, представления и транзакции
Dataville
Savings & Loan
Ваша база данных выросла, и теперь с ней будут работать дру-
гие люди. К сожалению, далеко не все они так же хорошо разбираются в SQL,
как вы. Вам придется позаботиться о том, чтобы предотвратить ввод неверных
данных, запретить просмотр лишних данных, а также предотвратить возмож-
ные конфликты при одновременном вводе данных. В этой главе мы займемся
защитой данных от чужих ошибок. Итак — Защита Баз Данных, часть 1.
Грег нанимает помощников 482
Первый день: вставка данных нового клиента 483
Джим не хочет использовать NULL 484
Три месяца спустя 485
Добавление ограничения CHECK 486
Ограничение CHECK для столбца gender 487
Однообразная работа Фрэнка 489
Создание представления 491
Просмотр представлений 492
Как работает представление 493
Что такое представление 494
Вставка, обновление и удаление в представлениях 497
Обновление данных через представление 498
Представление с CHECK OPTION 501
Представление может быть обновляемым, если... 502
Удаление представлений 503
Когда хорошая база данных плохо ведет себя 504
Что произошло с банкоматом 505
Новые неприятности с банкоматами 506
Это не мечты, а транзакции 508
Свойства транзакций 509
SQL помогает работать с транзакциями 510
Как должен был работать банкомат 511
Как работать с транзакциями в MySQL 512
Теперь попробуйте сами 513
Новые инструменты 516
Безопасность
root bashful doc dopey grumpy happy sleepy sneezy
Вы потратили массу времени и сил на создание базы данных.
И если теперь с ней что-нибудь случится, это будет полной катастрофой. Кроме
того, вам приходится предоставлять другим пользователям доступ к данным,
и вы опасаетесь, что они могут ошибиться с вставкой или обновлением — или
и того хуже, удалить нужные данные. В этой главе вы узнаете, как защитить
базу данных и хранящиеся в ней объекты и как установить контроль над тем,
какие операции с данными разрешены тем или иным пользователям.
Проблемы с пользователями 520
Предотвращение ошибок в базе данных 521
Защита учетной записи root 523
Создание нового пользователя 524
Решите, что необходимо каждому пользователю 525
Простая команда GRANT 526
Разновидности GRANT 529
Команда REVOKE 530
Отзыв использованной привилегии GRANT OPTION 531
Проблема общих учетных записей 536
Использование роли 538
Удаление ролей 538
Конструкция WITH ADMIN OPTION 540
Объединение CREATE USER с GRANT 545
Оглушительный успех! 546
Новые инструменты 547
Присоединяйтесь! 548
Используйте SQL в своих проектах... и возможно,
вас тоже ожидает успех! 548
Прочее
Z ZONE
Но даже после всего сказанного беседа еще не закон-
чена! Есть еще кое-что, о чем вы должны знать. Мы решили, что будет
неправильно просто проигнорировать эти темы — они заслуживают хотя
бы краткого упоминания. Итак, прежде чем откладывать книгу, ознакомь-
тесь с этими короткими, но важными разделами. А когда вы прочитае-
те и эту главу, останется еще пара приложений... и может быть, немного
рекламы... и ничего больше. Честное слово!
1. Используйте графический интерфейс к своей РСУБД 550
2. Зарезервированные слова и специальные символы 552
3. ALL, ANY и SOME 554
4. Подробнее о типах данных 556
5. Временные таблицы 558
6. Преобразование типа 559
7. Имя пользователя и текущее время 560
8. Полезные числовые функции 561
8. Полезные числовые функции (продолжение) 562
9. Индексирование для ускорения операций 563
10. PHP/MySQL за две минуты 564Установка MySQL
III Полный инструментарий SQL
Cписок инструментов
За дело! 568
Инструкции и устранение проблем 568
Установка MySQL в системе Windows 569
Установка MySQL в Mac OS X 572
Ваши новые знания принесут пользу только в том слу-
чае, если вы сможете применить их на практике. В этом
приложении содержатся инструкции по установке РСУБД MySQL.
В этом приложении перечислены все инструменты SQL,
упоминавшиеся в книге. Не жалейте времени, просмот рите весь
список и возрадуйтесь — ведь вы изучили их все!