Управление базами и проектами


           

Microsoft Project -управление проектами

На первый взгляд Microsoft Project кажется еще одним приложением семейства Microsoft Office с панелью инструментов, как в Word, таблицами и графиками, как в Excel. Но чем глубже вы будете осваивать Microsoft Project, тем больше отличий вы заметите.
Одно из ключевых отличий состоит в узкой области применения программы. Если другие приложения семейства Microsoft Office ориентированы на широкую область применения и содержат самые разные функции, то программа MS Project предназначена исключительно для управления проектами.
Другое важное отличие заключается в том, что с MS Project невозможно работать, не обладая теоретическими знаниями в области управления проектами и не зная особенностей этой программы. Любой пользователь может открыть Word и подготовить документ, не читая предварительно книгу размером с ту, что находится в ваших руках. Конечно, этот пользователь не будет применять команды стилевого оформления, возможно, он не сумеет вставить в документ номера страниц и т. п., но документ будет готов к распечатке и им можно будет воспользоваться. Если же вы откроете MS Project и попробуете создать план проекта, то без специальных знаний вы не сможете получить план, пригодный для реализации проекта.
Таким образом, если вы хотите управлять проектами с помощью MS Project, то без изучения теории управления проектами и функциональных возможностей программы вам не обойтись.

Введение в MS Project

Установка, запуск и настройка
Для установки MS Project 2002 нужно вставить компакт-диск в дисковод, после чего автоматически запустится программа установки. После того как вы введете серийный номер, программа начнет искать на диске установленные предыдущие версии MS Project, и по завершении поиска появится диалоговое окно, предназначенное для определения параметров установки

Установка
Первый запуск
Краткое знакомство с интерфейсом
Настройка программы
Основные элементы интерфейса
Представления

Таблицы
Как мы уже знаем, «внутри» MS Project есть таблица ресурсов и таблица задач, а «снаружи», в интерфейсе, есть ряд таблиц, являющихся набором полей либо из одной, либо из другой «внутренней» таблицы. Таблицы отображаются в представлениях, причем есть представления, в которых таблицы совмещены с диаграммой (например, Gantt Chart (Диаграмма Ганта)

Просмотр данных с помощью таблиц
Добавление, удаление и форматирование колонок
Создание новой таблицы
Создание таблицы на основе существующей
Редактирование таблиц
Пример создания собственной таблицы
Редактирование данных в таблицах
Форматирование данных в таблицах

Сортировка, группировка и фильтрация данных в таблицах
В этом уроке вы узнаете, как использовать сортировку данных для того, чтобы расположить строки в таблице в удобном порядке. Затем вы освоите средства фильтрации, позволяющие отбирать для отображения в таблице только нужные данные. При этом вы научитесь работать в режиме быстрой фильтрации (режим автофильтра), который в дальнейшем придется активно применять, и использовать структурную фильтрацию, позволяющую отображать в таблице задачи, расположенные на определенном уровне в плане проекта. Наконец, вы узнаете, как группировать данные в таблице и совмещать при отборе данных приемы их сортировки, фильтрации и группировки.

Сортировка
Фильтрация
Группировка
Сочетание методов сортировки, группировки

Диаграмма Ганта
Диаграмма Ганта — это один из наиболее популярных способов графического представления плана проекта, применяемый во многих программах управления проектами. В этом уроке вы узнаете, из каких основных элементов состоит эта диаграмма. Затем вы научитесь изменять формат отображаемых на диаграмме отрезков и определять, какая информация должна отображаться с их помощью. Причем эти операции вы сможете осуществлять как вручную, так и пользуясь специальным мастером.

Диаграммы
Диаграмма Ганта
Форматирование диаграммы Ганта
Редактирование данных на диаграмме Ганта

Сетевые графики
Сетевой график, или блок-схема, — не менее популярное средство визуализации плана проекта, чем диаграмма Ганта. Не случайно в MS Project имеется три вида сетевых графиков. В этом уроке вы научитесь определять формат блоков сетевых графиков и тем самым отображать на них нужную вам информацию. Вы освоите форматирование как отдельного блока графика, так и группы блоков. Кроме того, вы узнаете, как определять параметры размещения блоков на графике, и научитесь работать со схемой данных MS Project.

Виды сетевых графиков в MS Project
Сетевой график
Форматирование сетевого графика
Редактирование данных на сетевом графике
Панель инструментов сетевого графика.
Схема данных.

Календарь и график ресурсов
Принципы настройки календаря совпадают с принципами настройки диаграммы Ганта: можно отформатировать стили отрезков, шкалу времени, вспомогательные линии и общие параметры диаграммы. В отличие от диаграммы Ганта или сетевой диаграммы, на которых можно форматировать как отдельный отрезок, так и их группы (стили отрезков), на календаре можно форматировать только стили отрезков, а изменить параметры отображения одного отрезка для конкретной задачи нельзя.

Форматирование календаря.
Редактирование проектных данных на календаре.
График ресурсов
Форматирование ресурсного графика.
Редактирование данных на ресурсном графике
Что нового вы узнали?

Диаграммы использования задач и ресурсов
Диаграммы использования задач и ресурсов в большей степени, чем остальные, применяются для ввода повременных данных в файл проекта. Знать возможности этих диаграмм и уметь работать с ними очень важно, поскольку без их помощи невозможно ввести в план проекта повременные данные, например указать, что в первый день работы над задачей сотрудник работает 1 час, а во второй день — 2 часа. В этом уроке вы узнаете, как отображать на диаграммах использования задач и ресурсов нужные данные, как их анализировать и редактировать. Кроме того, вы научитесь форматировать данные, которые отображаются на этих диаграммах.

Диаграмма использования задач
Выбор типа информации на графике
Шкала времени, сетка и стили текста
Редактирование на диаграмме использования
Диаграмма использования ресурсов
Форматирование диаграммы использования
Использование фильтрации на диаграммах
Что нового вы узнали?

Представления и формы
В предыдущих уроках вы работали с элементами представлений, но для вас очень важно научиться работать и с представлением в целом: создавать и удалять представления, изменять их свойства. В этом уроке вы освоите принципы работы с представлениями и научитесь перемещать представления и их составляющие между проектными файлами. Представление (View) — это основное средство отображения проектных данных для просмотра и редактирования, которое может сочетать в себе таблицы, диаграммы и формы (см. раздел «Рабочая область MS Project»). Представление имеет гибкую структуру, что позволяет настраивать его в зависимости от потребностей пользователя.

Принципы работы с представлениями
Формы
Удаление и перемещение представлений
Что нового вы узнали?

Основы планирования и подготовка к составлению плана
Целью этого урока является теоретическая подготовка к составлению проектов в MS Project. После ознакомления с уроком вы освоите основную терминологию управления проектами, получите представление о принципах планирования и специфике составления плана проекта в MS Project. Кроме того, вы узнаете, как определять проект в этой программе и настраивать параметры планирования. Приемы работы в MS Project будут применены на практике, и в завершение урока мы опишем собственный проект, план которого мы будем составлять в последующих уроках.

Планирование проектов
Что такое проект?
Составляющие проектного плана
Проектный треугольник
Планирование проекта в MS Project
Определение проекта
Параметры календарного плана
Помощь в планировании

Планирование работ
Целью урока является обучение принципам составления плана проектных работ в MS Project. Вы узнаете, как с помощью MS Project формировать список задач проекта, определять их длительности и зависимости между ними, как вводить в проект информацию об ограничениях по срокам исполнения задач. Все описанные принципы будут проиллюстрированы практическими примерами, и во время урока мы определим состав работ собственного проекта.

Определение состава работ
Скелетный план работ
Определение длительностей задач
Определение связей между задачами
Дата начала проекта
Ограничения
Крайние сроки
Повторяющиеся задачи
Суммарная задача проекта
Что нового вы узнали?

Планирование ресурсов и создание назначений
После того как определен состав задач, нужно определить, кто эти задачи будет исполнять и какое оборудование будет использоваться. Для этого нужно ввести в план проекта список ресурсов и информацию о них, а затем распределить эти ресурсы между задачами. В этом уроке вы узнаете, как добавлять ресурсы в проект и определять степень их возможного участия в проекте. Вы научитесь назначать ресурсы на задачи и определять параметры назначений. Вы узнаете об особенностях планирования назначений для сотрудников и материальных ресурсов и принципах распределения загрузки ресурса во время исполнения задачи.

Составление списка людей и оборудования
Определение рабочего времени ресурсов
Определение времени участия в проекте
Персональное время работы
Определение назначений
Настройка параметров
Создание назначений
Типы задач
Фиксированный объем работ
Календарь задачи

Дополнительная информация о задачах и ресурсах
Из этого урока вы узнаете, как вносить в план проекта дополнительную информацию о задачах и ресурсах. Для этого мы будем использовать как стандартные поля «внутренних» таблиц, так и нестандартные (настраиваемые). Настраиваемые поля и коды структуры, использованию которых посвящена большая этой главы, являются одним из наиболее удобных средств, заложенных в MS Project. Именно благодаря наличию в программе гибких возможностей настройки с ее помощью можно создавать планы, соответствующие стандартам и потребностям самых разных организаций.

Внесение в план проекта доп информации
Код структуры задач
Приоритет задач и группы ресурсов
Заметки и документы
Гиперссылки
Настраиваемые поля
Настраиваемые коды структуры
Что нового вы узнали?

Планирование стоимости проекта, анализ и оптимизация загрузки ресурсов
В этом уроке вы познакомитесь с тем, как определять стоимость проекта с помощью нескольких наиболее распространенных методик. Затем вы начнете учиться анализировать план проекта, и первым, что вы освоите, будет анализ загрузки ресурсов. Анализ и оптимизация загрузки ресурсов, то есть равномерное распределение работы между ресурсами, — одна из наиболее сложных операций, осуществляемых при составлении проекта в MS Project. В этом уроке вы научитесь использовать возможности автоматизации MS Project для распределения загрузки ресурсов и распределять ее вручную в тех случаях, когда автоматизированные средства не справляются с задачей.

Методы планирования стоимости проекта
Планирование стоимости в MS Project
Анализ и оптимизация плана проекта
Анализ и выравнивание загрузки ресурсов

Анализ и оптимизация плана работ и стоимости проекта
Из этого урока вы узнаете, как анализировать план проектных работ и стоимость проекта и оптимизировать их. Для анализа плана работ проекта будут использованы две классические методики: PERT и метод критического пути (СРМ). А для анализа стоимости проекта мы будем активно использовать настраиваемые поля, формулы и группировки, и вы узнаете, как создавать формулы с условиями. Кроме того, наш пример покажет, как анализ плана в различных аспектах помогает выявить ошибки, допущенные при его составлении. В разделе, посвященном оптимизации плана работ, мы рассмотрим существующие методы сокращения плана работ, в том числе основанные на методе критического пути. Рассматривая оптимизацию стоимости плана, мы покажем, как можно увеличить или уменьшить стоимость проекта и на какие аспекты проектного треугольника могут повлиять подобные изменения.

Анализ и оптимизация плана работ
Уточнение длительности задач
Уточнение длительности задач по методу PERT
Оптимизация плана работ проекта
Анализ критического пути проекта
Анализ и оптимизация стоимости проекта
Анализ стоимости проекта
Оптимизация стоимости проекта

Анализ рисков
Анализ опасностей, которые могут возникнуть при выполнении составленного плана, — один из самых интересных и сложных этапов планирования проекта. От того, как проведен анализ, зависит, будет ли проект успешно завершен. В этом уроке вы научитесь определять риски с помощью MS Project, описывать их и разрабатывать стратегии их смягчения. Для проведения анализа мы задействуем все имеющиеся в нашем арсенале средства: настраиваемые поля, формулы, стандартные и настраиваемые фильтры, сортировки. Но и это не все — в конце урока мы освоим средства анализа проектных данных в Microsoft Excel и с их помощью проведем исследование нашего проекта.

Анализ рисков
Определение рисков
Риски в расписании
Ресурсные риски
Бюджетные риски
Разработка стратегии смягчения рисков
План сдерживания рисков
План реакции на риски
Формирование временного буфера
Анализ распределения трудозатрат

Согласование плана проекта: экспорт данных
Готовый и проанализированный план проекта обычно нужно согласовывать с руководством организации или заказчиком. Для этого план нужно подготовить к передаче, распространить на согласование и затем внести в него необходимые изменения. В этом уроке вы научитесь распространять план проекта как в формате MS Project, так и в других популярных форматах. Среди них особенно интересны возможности быстрой подготовки веб-страниц, сводных таблиц Microsoft Excel и файлов в формате XML. Также вы узнаете, как отбирать необходимые данные при экспорте и как обходить подводные камни, которые могут возникнуть при передаче данных в другие форматы.

Распространение плана проекта
Рассылка плана по электронной почте
Распространение плана в составе документов
Экспорт плана в файлы других форматов

Согласование плана проекта: распечатка и внесение изменений
Один из наиболее распространенных способов распространения плана проекта — представление в печатном виде. Но распечатать план проекта не так просто, как, например, документ Microsoft Word: ведь план обычно занимает несколько экранов в ширину и несколько в высоту. В этом уроке вы научитесь распечатывать план проекта и узнаете, как настроить параметры печати, чтобы на бумаге отображалась только нужная вам информация. На бумаге может быть меньше данных, чем в представлении на экране, но может быть и больше, и вы узнаете, как добавлять в распечатку строки со сводной информацией.

Распечатка
Внесение изменений в план
Что нового вы узнали?
Контрольные вопросы и задания второй части

Отслеживание проекта
После составления плана проекта начинается выполнение запланированных работ. Руководитель проекта должен внимательно следить за ходом работ, чтобы вовремя заметить несоответствия между планом и фактическим выполнением работ. Отклонения от плана опасны тем, что они могут привести к задержке сроков окончания проекта, превышению бюджета или неполной реализации запланированных задач. В этом уроке вы узнаете, как сохранять базовые и промежуточные планы проекта, каким образом вводить в проект фактическую информацию о ходе выполнения работ. Вы научитесь использовать разные по точности и скорости применения методы отслеживания проекта и освоите настройки, влияющие на поведение программы при вводе фактических данных. Наконец, вы узнаете о том, как подготовить проект к отслеживанию и какие инструменты можно использовать для быстрого ввода фактической информации.

Работа с базовыми и промежуточными планами
Принципы отслеживания
Использование методов отслеживания
Подготовка к вводу данных отслеживания
Процесс отслеживания проекта
Что нового вы узнали?

Совместная работа
Средства совместной работы предназначены для быстрого обмена информацией между членами проектной команды. С помощью этих средств можно автоматизировать сбор повременных данных о трудозатратах и тем самым обеспечить точность отслеживания. Кроме того, можно автоматизировать рассылку задач членам проектной команды и обсуждение трудозатрат при планировании. В этом уроке вы узнаете, как пользоваться возможностями совместной работы, используя только электронную почту или сервер MS Project Server. Вы научитесь настраивать MS Project для использования одного из средств совместной работы и определять параметры совместной работы для отдельных ресурсов. Вы узнаете, как осуществлять согласование задач и сбор фактической информации о ходе работ над ними, как организовывать группы внутри проектной команды и как обрабатывать поступающие фактические данные с помощью правил.

Настройки совместной работы
Совместная работа с электронной почтой
Согласование назначений
Учет фактических трудозатрат
Совместная работа с MS Project Server
Диспетчер очереди

Анализ хода работ
Во время отслеживания проекта руководителю нужно уметь определять, укладывается ли проект в запланированный бюджет и будет ли он завершен в запланированные сроки. Для этого мало собирать фактические данные о ходе работ -нужно еще и правильно их анализировать. В этом уроке вы познакомитесь с методикой анализа хода проектных работ и научитесь использовать ее при отслеживании проекта. Вы узнаете, какие инструменты для применения этой методики предлагает MS Project и освоите их применение на практике. Самое интересное в этой методике и инструментах то, что с их помощью вы сможете понять перспективы вашего проекта и принять меры для достижения нужных результатов и избежания неблагоприятного развития событий.

Метод освоенного объема
Линии хода выполнения
Анализ хода работ на сервере MS Project Server
Что нового вы узнали?

Подготовка отчетов
После того как проект начал выполняться, руководитель должен с определенной частотой предоставлять руководству и заказчику отчеты о ходе проекта. MS Project содержит набор готовых отчетов, которые можно использовать в этих случаях, и предлагает возможности по созданию собственных отчетов. Отчеты удобно использовать и самому руководителю проекта, поскольку с помощью некоторых из них можно получить данные, которые невозможно просмотреть в представлениях. Например, с помощью одного из отчетов мы. можете получить таблицу с описанием календаря проекта и всеми днями с особым режимом работы.

Статистика проекта
Стандартные отчеты
Создание новых отчетов
Редактирование и настройка отчетов
Что нового вы узнали?
Контрольные вопросы и задания третьей части

Возможности стандартной редакции
В этом уроке мы рассмотрим дополнительные возможности стандартной редакции MS Project 2002. Основная тема урока — управление несколькими проектами. Вы узнаете, как избежать конфликтов при распределении ресурсов между проектами и как планировать выполнение взаимосвязанных проектов. Кроме того, вы научитесь одновременно анализировать данные нескольких проектов, объединяя их в общем представлении или отчете. Вы освоите удобные приемы работы с группами файлов проектов и узнаете, как сохранять рабочую область, создавать базы данных проектов и готовить шаблоны для создания новых планов проектов на их основе. Кроме того, вы узнаете, как настраивать Консультанта MS Project 2002 и как работать с программными надстройками.

Совместное использование ресурсов
Работа с несколькими планами проектов
Настройка Консультанта MS Project 2002
Управление надстройками СОМ
Работа с шаблонами
Что нового вы узнали?

Установка и конфигурирование сервера MS Project Server
Этот урок мы посвящаем установке и конфигурированию сервера MS Project Server. Установка сервера MS Project Server даже в минимальной конфигурации не так проста, поскольку ее успешное завершение возможно лишь при определенных настройках других компонентов Windows. Чем сложнее конфигурация сервера MS Project Server, тем больше компонентов используется, тем сложнее его установка. После установки сервера необходимо правильно сконфигурировать его, чтобы пользователи могли с ним работать. В этом уроке вы узнаете, как установить сервер MS Project Server и как сконфигурировать его для последующей работы с помощью профессиональной и стандартных редакций MS Project.

Установка сервера MS Project Server
Установка сервера SharePoint Team Services
Конфигурирование сервера MS Project Server
Что нового вы узнали?

Возможности профессиональной редакции
Этот урок мы посвятим возможностям профессиональной редакции MS Project. Поскольку эта тема является дополнением к учебному курсу по MS Project 2002, то мы рассмотрим наиболее важные возможности. Вы узнаете, как настроить профессиональную редакцию MS Project для работы с сервером и как работать с файлами проектов и шаблонов в режиме подключения к серверу. Затем вы научитесь планировать проекты с использованием корпоративного пула ресурсов и пользоваться средствами автоматического подбора ресурсов, необходимых для проекта. В заключение урока мы рассмотрим анализ корпоративных проектов средствами сервера MS Project Server.

Начало работы
Работа с планами проектов
Работа с шаблонами файлов
Работа с корпоративным пулом ресурсов
Замена и подбор ресурсов проектной команды
Аналитические возможности сервера

Справочное руководство по MySQL версии 4.0.11-gamma

Это - справочное руководство по MySQL; оно представляет собой документацию по MySQL версии 4.0.11-gamma. Функциональные изменения отмечены номером версии, в которой они произведены, поэтому это руководство будет полезно при освоении также и более старых версий MySQL. Поскольку данный материал носит чисто справочный характер, в нем не содержится основных положений SQL или сведений по реляционным базам данных.

Общая информация
Об этом руководстве
Соглашения, используемые в данном руководстве
О русском переводе руководства

Что представляет собой MySQL?
История MySQL
Основные возможности MySQL
Насколько стабильным является MySQL?
Насколько большими могут быть таблицы
Вопросы, связанные с Проблемой-2000

Что представляет собой компания MySQL AB?
Бизнес-модель и услуги MySQL AB
Поддержка
Обучение и сертификация
Консультации
Коммерческие лицензии
О нашей программе партнерства
О рекламе
Как с нами связаться

Лицензии и поддержка MySQL
Поддержка, предлагаемая компанией MySQL AB
Авторские права и лицензии на MySQL
Лицензии на ПО MySQL
ПО MySQL под коммерческой лицензией
Бесплатное MySQL по лицензии GPL
Логотипы и торговые марки MySQL AB
Оригинальный логотип MySQL
Логотипы MySQL без письменного разрешения
Bспользования логотипов c разрешением
Партнерские логотипы MySQL AB
MySQL в текстовых документах и презентациях
MySQL в названиях компаний и продуктов

Кратко о MySQL 4.x
Поэтапный выпуск
Можно использовать уже прямо сейчас
строенный MySQL
Другие функции, доступные в MySQL 4.0
Функции MySQL 4.x, которые будут добавлены
MySQL 4.1, следующая ветка в разработке
Источники информации по MySQL
Списки рассылки MySQL
Списки рассылки MySQL
Как задавать вопросы об ошибках
Как отправлять отчеты об ошибках или проблемах
Рекомендации по ответам на вопросы
Пользователи MySQL на IRC

Насколько MySQL соответствует стандартам?
Каким стандартам соответствует MySQL ?
Запуск MySQL в режиме ANSI
Расширения MySQL к ANSI SQL92
Отличия MySQL от ANSI SQL92
Вложенные SELECTы
Оператор SELECT INTO TABLE
Транзакции и атомарные операции
Хранимые процедуры и триггеры
Внешние ключи
Представления
Символы `--' как начало комментария
Известные ошибки и недостатки проектирования

MySQL и будущее (что предстоит сделать)
Что планируется реализовать в версии в 4.0
Things That Should be in 4.1
Что планируется реализовать в версии 5.0
Что должно быть сделано в ближайшем будущем
То, что надо сделать когда-нибудь
То, чего не планируется делать

Сравнение MySQL с другими СУБД
Сравнение MySQL и mSQL
Как конвертировать mSQL в MySQL
Различия в кпротоколах mSQL и MySQL
Различия в синтаксисе mSQL 2.0 и MySQL
Сравнение MySQL c PostgreSQL
Стратегии развития MySQL и PostgreSQL
Сравнение возможностей MySQL и PostgreSQL
Тестирование скорости MySQL и PostgreSQL

Установка MySQL
Быстрая стандартная установка MySQL
Установка MySQL на Linux
Установка MySQL на Windows
Установка бинарного кода
Подготовка конфигурации MySQL для Windows
Первый запуск сервера

Общие вопросы инсталляции
Как получить MySQL
Проверка целостности пакетов MD5 Checksums
Операционные системы, поддерживаемые MySQL
Какую версию MySQL использовать
Схемы установки
Как и когда выпускаются обновления
Бинарные коды MySQL из MySQL AB
Установка бинарного дистрибутива MySQL

Установка исходного дистрибутива MySQL
Обзор быстрой установки
Применение патчей
Типичные опции configure
Экспериментальный набор исходных кодов
Проблемы с компиляцией?
Замечания по потокам MIT-pthreads
Дистрибутив исходного кода для Windows

Послеустановочные настройка и тестирование
Проблемы при запуске mysql_install_db
Проблемы при запуске сервера MySQL
Автоматический запуск и остановка MySQL

Апгрейд/даунгрейд MySQL
Модернизация с версии 4.0
Модернизация с версии 3.23 до версии 4.0
Модернизация с версии 3.22 до версии 3.23
Модернизация с версии 3.21 до версии 3.22
Модернизация с версии 3.20 до версии 3.21
Модернизация к иной архитектуре

Заметки по операционным системам
Примечания к Linux (Все версии Linux)
Примечания к бинарным дистрибутивам Linux
Заметки по поводу Linux x86
Примечания к Linux SPARC
Примечания к Linux Alpha
Примечания к Linux PowerPC
Примечания к Linux MIPS
Примечания к Linux IA64
Примечания к Windows
Запуск MySQL на Windows 95, 98 или Me
Запуск MySQL на Windows NT, 2000 или XP
Работа MySQL в среде Windows
Соединение с MySQL на удаленной машине
Распределение данных в Windows между дисками
Компиляция MySQL-клиентов в среде Windows
Характеристики MySQL под Windows и под Unix
Примечания к Solaris
Примечания к Solaris 2.7/2.8
Примечания к Solaris x86
Примечания к BSD
Примечания к FreeBSD
Примечания к NetBSD
Примечания к OpenBSD 2.5
Примечания к OpenBSD 2.8
Примечания к BSD/OS версий 2.x
Примечания к BSD/OS версий 3.x
Примечания к BSD/OS версий 4.x
Примечания к Mac OS X
Общедоступная бета-версия Mac OS X
Сервер Mac OS X
Примечания к другим Unix-системам
Примечания к бинарному дистрибутиву HP-UX
Примечания к HP-UX версии 10.20
Примечания к HP-UX версий 11.x
Примечания к IBM-AIX
Примечания к SunOS 4
Примечания к Alpha-DEC-UNIX (Tru64)
Примечания к Alpha-DEC-OSF/1
Примечания к SGI Irix
Примечания к Caldera (SCO)
Примечания к Caldera (SCO) Unixware Version 7.0
Примечания к OS/2
Примечания к BeOS
Примечания к Novell NetWare

Замечания по установке Perl
Установка Perl на Unix
Установка ActiveState Perl на Windows
Установка Perl для MySQL на Windows
Проблемы интерфейса Perl DBI/DBD

Учебное пособие по MySQL

Подсоединение к серверу и отсоединение от него

Ввод запросов

Создание и использование базы данных
Создание и выбор базы данных
Создание таблицы
Загрузка данных в таблицу
Выборка информации из таблицы
Выборка всех данных
Выборка определенных строк
Выборка определенных столбцов
Сортировка строк
Вычисление дат
Работа с значениями NULL
Сравнение по шаблонам
Подсчет строк
Использование нескольких таблиц

Получение информации о БД и таблицах

Примеры стандартных запросов
Максимальное значение столбца
Строка, содержащая максимальное значение
Максимальное значение столбца для группы
Строка, содержащая максимальное значение
Использование пользовательских переменных
Использование внешних ключей
Поиск по двум ключам
Подсчет посещений за день
Использование атрибута AUTO_INCREMENT

Использование mysql в пакетном режиме

Запросы проекта "Близнецы.html" (Twin Project)
Поиск нераспределенных близнецов
Вывод таблицы состояний пар близнецов

Использование MySQL совместно с Apache

Администрирование баз данных

Конфигурирование MySQL
Параметры командной строки mysqld
Файлы параметров `my.cnf'
Несколько серверов на один компьютер
Запуск серверов MySQL на одном компьютере

Система привилегий доступа MySQL
Общие принципы обеспечения безопасности
Как обезопасить MySQL от хакеров
Опции запуска mysqld - безопасность
Вопросы безопасности - LOAD DATA LOCAL
Функции, выполняемые системой привилегий
Как работает система привилегий
Привилегии, предоставляемые MySQL
Соединение с сервером MySQL
Верификация подсоединения
Верификация запросов
Причины появления ошибок Access denied

Управление учетными записями пользователей
Синтаксис команд GRANT и REVOKE
Имена пользователей MySQL и пароли
Когда изменения в привилегиях вступают в силу
Задание изначальных привилегий MySQL
Добавление новых пользователей в MySQL
Ограничение ресурсов пользователя
Задание паролей
Обеспечение безопасности своего пароля
Использование безопасных соединений
Основные сведения
Требования
Параметры команды GRANT

Предотвращение катастроф и восстановление
Резервное копирование баз данных
Синтаксис BACKUP TABLE
Синтаксис RESTORE TABLE
Синтаксис CHECK TABLE
Синтаксис REPAIR TABLE
myisamchk для профилактики таблиц
Синтаксис запуска myisamchk
Общие опции для myisamchk
Проверочные опции для myisamchk
Опции исправления для myisamchk
Другие опции для myisamchk
Использование памяти утилитой myisamchk
myisamchk для послеаварийного восстановления
Как проверять таблицы на ошибки
Как ремонтировать таблицы
Оптимизация таблиц
Настройка режима профилактики таблиц
Получение информации о таблице

Язык администрирования баз данных

Синтаксис команды OPTIMIZE TABLE
Синтаксис команды ANALYZE TABLE
Синтаксис команды FLUSH
Синтаксис команды RESET
Синтаксис команды KILL
Синтаксис команды SHOW
Получение информации по базам данных
SHOW TABLE STATUS
SHOW STATUS
SHOW VARIABLES
SHOW LOGS
SHOW PROCESSLIST
SHOW GRANTS
SHOW CREATE TABLE

Локализация MySQL и национальные алфавиты
Набор символов для записи данных и сортировки
Набор символов немецкого алфавита
Сообщения об ошибках на языках
Добавление набора символов
Массивы определения символов
Поддержка упорядочивания строк
Поддержка многобайтовых символов
Проблемы с наборами символов

Серверные сценарии и утилиты MySQL
Обзор серверных сценариев и утилит
safe_mysqld, оболочка mysqld
Mysqld_multi управление множеством серверов
myisampack, MySQL-генератор сжатых таблиц
mysqld-max, расширенный сервер mysqld

Клиентские сценарии и утилиты MySQL
Обзор клиентских сценариев и утилит
mysql, Утилита командной строки
mysqladmin, Администрирование MySQL-сервера.
mysqlcheck для сопровождения таблиц.
mysqldump, Получение дампов данных
mysqlhotcopy, Копирование баз данных MySQL
mysqlimport, импорт данных из текстовых файлов
Просмотр баз данных, таблиц и столбцов
perror, разъяснение кодов ошибок
Как запускать SQL-команды из текстового файла

Файлы журналов MySQL
Журнал ошибок
Общий журнал запросов
Журнал обновлений (update)
Бинарный журнал обновлений
Журнал медленных запросов
Обслуживание файлов журналов
Репликация в MySQL

Введение
Как реализована репликация: обзор
Как настроить репликацию
Возможности репликации и известные проблемы
Опции репликации в файле `my.cnf'
SQL-команды, относящиеся к репликации
Часто задаваемые вопросы по репликации
Поиск неисправностей репликации

Оптимизация в MySQL

Oбзор оптимизации
Конструктивные ограничения MySQL
Вопросы переносимости
Для чего мы использовали MySQL?
Набор тестов MySQL
Использование собственных тестов

Оптимизация SELECT и других запросов
Синтаксис оператора EXPLAIN
Оценка производительности запроса
Скорость выполнения запросов SELECT
Как MySQL оптимизирует выражения WHERE
Как MySQL оптимизирует DISTINCT
Как MySQL оптимизирует LEFT JOIN и RIGHT JOIN
Как MySQL оптимизирует ORDER BY
Как MySQL оптимизирует LIMIT
Скорость выполнения запросов INSERT
Скорость выполнения запросов UPDATE
Скорость выполнения запросов DELETE
Другие советы по оптимизации

Вопросы блокировок
Как MySQL блокирует таблицы
Вопросы блокирования таблиц

Оптимизация структуры базы данных
Конструктивные особенности MySQL
Сделайте объем данных как можно меньше

Индексы столбцов
Многостолбцовые индексы
Почему так много открытых таблиц?
Открытие и закрытие таблиц в MySQL
Недостатки создания множества таблиц

Оптимизация сервера MySQL
Настройка параметров системы, компляции
Настройка параметров сервера
Как компиляция влияет на скорость MySQL
Как MySQL использует память
Как MySQL использует DNS
Синтаксис команды SET

Вопросы, относящиеся к диску
Использование символических ссылок
Использование ссылок для баз данных
Использование символических ссылок для таблиц

Справочник по языку MySQL
Структура языка
Литералы: представление строк и чисел
Cтроки
Числа
Шестнадцатеричные величины
Значения NULL
Имена баз данных, таблиц, столбцов
Чувствительность имен к регистру
Переменные пользователя
Синтаксис комментариев
MySQL и зарезервированные слова

Типы данных столбцов
Числовые типы данных
Типы данных даты и времени
Проблема 2000 года и типы данных
Типы данных DATETIME, DATE и TIMESTAMP
Тип данных TIME
Тип данных YEAR
Символьные типы данных
Типы данных CHAR и VARCHAR
Типы данных BLOB и TEXT
Тип перечисления ENUM
Тип множества SET
Выбор правильного типа данных в столбце
Использование типов столбцов из других БД
Память для различных типов столбцов

Функции в операторах SELECT и WHERE
Операторы и функции общего назначения
Круглые скобки
Операторы сравнения
Логические операторы
Функции потока управления программой
Строковые функции
Функции сравнения строк
Чувствительность к регистру
Числовые функции
Арифметические операции
Математические функции
Функции даты и времени
Функции приведения типов
Другие функции
Битовые функции
Разные функции
Функции, используемые в операторах GROUP BY

Обработка данных: SELECT, INSERT, UPDATE
Синтаксис оператора SELECT
Синтаксис оператора JOIN
Синтаксис оператора UNION
Синтаксис оператора HANDLER
Синтаксис оператора INSERT
Синтаксис оператора INSERT ... SELECT
Синтаксис оператора INSERT DELAYED
Синтаксис оператора UPDATE
Синтаксис оператора DELETE
Синтаксис оператора TRUNCATE
Синтаксис оператора REPLACE
Синтаксис оператора LOAD DATA INFILE
Синтаксис оператора DO

Определение данных: CREATE, DROP, ALTER
Синтаксис оператора CREATE DATABASE
Синтаксис оператора DROP DATABASE
Синтаксис оператора CREATE TABLE
Молчаливые изменения определений столбцов
Синтаксис оператора ALTER TABLE
Синтаксис оператора RENAME TABLE
Синтаксис оператора DROP TABLE
Синтаксис оператора CREATE INDEX
Синтаксис оператора DROP INDEX

Основные команды программ MySQL
Синтаксис команды USE
Синтаксис команды DESCRIBE

Команды управления транзакциями в MySQL
Синтаксис команд BEGIN/COMMIT/ROLLBACK
Синтаксис команд LOCK TABLES
Синтаксис команды SET TRANSACTION

Полнотекстовый поиск в MySQL
Ограничения для полнотекстового поиска
Тонкая настройка поиска в MySQL
Доработки по полнотекстовому поиску

Кэш запросов в MySQL
Как работает кэширование запросов
Конфигурация кэша запросов
Параметры кэша запросов в запросе SELECT
Статус и поддержка кэша запросов

Типы таблиц MySQL

Таблицы MyISAM
Пространство, необходимое для ключей
Форматы таблиц MyISAM
Характеристики статической таблицы
Характеристики динамических таблиц
Характеристики сжатых таблиц
Проблемы с таблицами MyISAM.
Повреждения таблиц MyISAM
Clients is using or hasn't closed the table properly

Таблицы MERGE
Проблемы при работе с таблицами MERGE

Таблицы ISAM

Таблицы HEAP

Таблицы InnoDB
Обзор таблиц InnoDB
Параметры запуска InnoDB
Создание табличной области InnoDB
Если во время создания БД что-то не так
Создание таблиц InnoDB
Преобразование таблиц MyISAM в формат InnoDB
Ограничения внешнего ключа
Добавление и удаление файлов данных
Создание резервных копий и восстановление баз
Контрольные точки
Перенесение БД InnoDB на другой компьютер
Транзакционная модель InnoDB
Согласованное чтение
Чтение с блокировкой
Кстранение проблемы с фантомом
Блокировка в SQL и InnoDB
Обнаружение и откат взаимоблокировки
Пример работы согласованного чтения в InnoDB
Увеличение производительности
InnoDB Monitor
Реализация многовариантности
Структуры таблиц и индексов
Физическая структура индекса
Буферизация вставок
Адаптивный хешированный индекс
Физическая структура записи
Автоинкрементные столбцы в InnoDB
Управление файловым пространством
Дисковый ввод/вывод
Управление файловым пространством
Дефрагментация таблицы
Обработка ошибок
Ограничения для таблиц InnoDB
Получение данных по InnoDB

Таблицы BDB или Berkeley_DB
Обзор таблиц BDB
Установка BDB
Параметры запуска BDB
Характеристики таблиц BDB
Что нам нужно исправить в BDB
Операционные системы, поддерживаемые BDB
Ограничения таблиц BDB
Ошибки при использовании таблиц BDB

Интерфейсы для MySQL
Интерфейс PHP API для MySQL
Общие проблемы MySQL и PHP

Интерфейс Perl API для MySQL
DBI с помощью DBD::mysql
Интерфейс DBI
Больше информации по DBI/DBD

Поддержка ODBC в MySQL
Как установить MyODBC
Как заполнять поля в Администраторе ODBC
Параметры подключения для MyODBC
Как сообщать о проблемах с MyODBC
Программы, работающие с MyODBC
Как получить AUTO_INCREMENT в ODBC
Составление отчетов о проблемах с MyODBC

Интерфейс C для MySQL
Типы данных C API
Обзор функций интерфейса C
Описание функций интерфейса C

mysql_affected_rows()
mysql_change_user()
mysql_character_set_name()
mysql_close()
mysql_connect()
mysql_create_db()
mysql_data_seek()
mysql_debug()
mysql_drop_db()
mysql_dump_debug_info()
mysql_eof()
mysql_errno()
mysql_error()
mysql_escape_string()
mysql_fetch_field()
mysql_fetch_field_direct()
mysql_fetch_fields()
mysql_fetch_lengths()
mysql_fetch_row()
mysql_field_count()
mysql_field_seek()
mysql_field_tell()
mysql_free_result()
mysql_get_client_info()
mysql_get_host_info()
mysql_get_proto_info()
mysql_get_server_info()
mysql_info()
mysql_init()
mysql_insert_id()
mysql_kill()
mysql_list_dbs()
mysql_list_fields()
mysql_list_processes()
mysql_list_tables()
mysql_num_fields()
mysql_num_rows()
mysql_options()
mysql_ping()
mysql_query()
mysql_real_connect()
mysql_real_escape_string()
mysql_real_query()
mysql_reload()
mysql_row_seek()
mysql_row_tell()
mysql_select_db()
mysql_shutdown()
mysql_stat()
mysql_store_result()
mysql_thread_id()
mysql_use_result()
Описания функций C с потоками
my_init()
mysql_thread_init()
mysql_thread_end()
mysql_thread_safe()
Функции C, доступных во встраиваемом сервере
mysql_server_init()
mysql_server_end()
Вопросы в использовании интерфейса C
Почему возвращается NULL?
Какие результаты можно получить из запроса?
Как получить уникальный идентификатор?
Проблемы линкования с интерфейсом C
Сборка клиентских программ
Как создать клиентскую программу с потоками
ibmysqld, встраиваемая библиотека MySQL
Обзор библиотеки встраиваемого сервера MySQL
Компиляция программ с libmysqld
Ограничения встраиваемого сервера MySQL
Файлы опций с встраиваемым сервером
Что осталось сделать по TODO
Пример простого встраиваемого сервера
Лицензирование встраиваемого сервера

Интерфейсы C++

Интерфейс Borland C++
Взаимодействие MySQL и Java (JDBC)

Интерфейсы Python API для MySQL

Интерфейсы Tcl API для MySQL

Оболочка Eiffel для MySQL

Расширение MySQL

Внутреннее устройство MySQL
Потоки MySQL
Пакет тестирования MySQL
Выполнение тестового пакета MySQL
Расширение тестового пакета MySQL
Отчет об ошибках в тестовом пакете MySQL

Добавление новых функций в MySQL
Синтаксис CREATE FUNCTION/DROP FUNCTION
Добавление новой определяемой функции
Вызов UDF для простых функций
Вызов UDF для агрегатных функций
Обработка аргументов
Возвращаемые значения и обработка ошибок
Компиляция и установка функций
Добавление новых родных функции

Добавление новой процедуры в MySQL
Процедура Analyse
Написание процедуры

Проблемы и распространенные ошибки

Как определить, чем вызваны проблемы

Распространенные ошибки с MySQL
Ошибка Access denied
Ошибка MySQL server has gone away
Ошибка Can't connect to [local] MySQL server
Ошибка Host '...' is blocked
Ошибка Too many connections
Ошибка Some non-transactional changed tables
Ошибка Out of memory
Ошибка Packet too large
Коммуникационные ошибки
Ошибка The table is full
Ошибка Can't create/write to file
Ошибка в клиенте Commands out of sync
Ошибка Ignoring user
Ошибка Table 'xxx' doesn't exist
Ошибка Can't initialize character set xxx
Не найден файл (File not found)

Вопросы, связанные с инсталляцией
Проблемы при линковании с MySQL
Запуск MySQL от обычного пользователем
Проблемы с правами доступа к файлам

Вопросы, связанные с администрированием
Работа MySQL сопровождается сбоями
Как переустановить пароль пользователя root
Как MySQL реагирует на переполнение диска
Где MySQL хранит временные файлы
Как защитить сокет-файл MySQL `/tmp/mysql.sock'
Проблемы с часовыми поясами

Проблемы, относящиеся к запросам
Чувствительность к регистру при поиске
Проблемы с использованием столбцов типа DATE
Проблемы со значением NULL
Проблемы с alias
Удаление строк из взаимосвязанных таблиц
Решение проблем с отсутствием строк поиска
Сравнение чисел с плавающей точкой

Вопросы, связанные с определением таблиц
Проблемы с ALTER TABLE
Как изменить порядок столбцов в таблице
Проблемы, относящиеся к временным таблицам

Привнесенные программы
Интерфейсы (API)
Клиенты
Веб-инструменты
Средства тестирования производительности
Средства аутентификации
Конверторы
Использование MySQL с другим ПО
Утилиты
RPM общих инструментальных программ
Полезные функции
Программы для Windows
Не вошедшие в категории

Перенос на другие системы

Отладка сервера MySQL
Компиляция MySQL для отладки
Создание трассировочных файлов
Отладка mysqld при помощи gdb
Использование трассировки стека
Журналы ошибок в mysqld
Контрольный пример при повреждении таблиц

Отладка клиента MySQL

Пакет DBUG

Методы блокировки

Замечания по потокам RTS

Различия между разными потоковыми пакетами

Переменные окружения

Регулярные выражения в MySQL

GNU General Public License

Preamble
Terms and conditions for copying, distribution
How to Apply These Terms to Your New Programs

I GNU Lesser General Public License

Preamble
Terms and conditions for modification
How to Apply These Terms to Your New Libraries

Команды SQL, функциональное оглавление
Концептуальное оглавление

Язык запросов SQL

Добро пожаловать в область разработки баз данных, выполняемой с помощью стандартного языка запросов SQL. В системах управления базами данных (СУБД) имеется много инструментов, работающих на самых разных аппаратных платформах. Различия между этими инструментами могут быть очень существенными, но все они имеют одну общую черту — доступ к данным и их обработка выполняются с помощью SQL. Зная SQL, вы можете создавать реляционные базы данных и получать из них полезную информацию.
Системы управления базами данных играют жизненно важную роль во многих организациях. Люди часто думают, что создание и поддержание этих систем — очень сложное занятие, удел "жрецов" баз данных, которым открыта истина, недоступная простым смертным. Эта книга напрочь отметает мистику, связанную с базами данных.
Цель книги состоит в том, чтобы научить вас создавать реляционные базы данных и извлекать из них ценную информацию с помощью SQL — международного стандартного языка, используемого во всем мире для создания и поддержки реляционных баз данных. В пятом издании книги рассказывается о последней версии этого языка, SQL:2003.
В книге речь идет не о том, как проектировать базу данных, поскольку на эту тему написано много хороших книг. Предполагается, что уже существует подходящий проект базы. Здесь будет показано, как реализовать этот проект с помощью SQL. Если же у вас есть подозрение, что имеющийся проект не очень хорош, то исправьте его во что бы то ни стало, пока еще не начали создавать саму базу данных. Чем раньше вы обнаружите и исправите недостатки разработанного проекта, тем дешевле вам обойдутся те исправления, которые все-таки придется делать.
Если вам надо хранить данные в СУБД или получать их оттуда, то практическое знание SQL поможет вам делать свою работу намного лучше. Чтобы использовать SQL, не нужно быть программистом и знать программные языки, такие как COBOL, С или Basic. Синтаксис языка SQL основан на упрощенном синтаксисе английского.
А если вы все-таки программист, то сможете использовать SQL в своих программах. С его помощью у обычных языков программирования появляется мощный аппарат обработки данных. В настоящей книге рассказывается, что именно нужно знать, чтобы реализовать в своих программах богатый набор возможностей, предоставляемых SQL.

Введение
Добро пожаловать в область разработки баз данных, выполняемой с помощью стандартного языка запросов SQL. В системах управления базами данных (СУБД) имеется много инструментов, работающих на самых разных аппаратных платформах. Различия между этими инструментами могут быть очень существенными, но все они имеют одну общую черту — доступ к данным и их обработка выполняются с помощью SQL.

Основы реляционных баз данных
SQL ( Structured Query Language — язык структурированных запросов) — это стандартный язык, предназначенный для создания баз данных, добавления новых и поддержки имеющихся данных, а также извлечения требуемой информации. В зависимости от используемой теоретической модели, базу данных относят к одному из нескольких типов. Язык SQL был создан для работы с данными из тех баз, которые следуют реляционной модели.

Работа с данными
Что такое база данных
Размер и сложность базы данных
Что такое система управления базами данных
Схема инфо системы на основе СУБД
Плоские файлы
Модели баз данных
Реляционная модель
Внимание
Почему реляционная модель лучше

Основы SQL
Что такое SQL Заблуждения, связанные с SQL Взгляд на разные стандарты SQL Знакомство со стандартными командами и зарезервированными словами SQL Представление чисел, символов, дат, времени и других типов данных Неопределенные значения и ограничения Использование SQL в системе клиент/сервер SQL в сети

Чем является SQL и чем он не является
(Очень) Короткая история
Команды SQL
Зарезервированные слова
Типы данных
Точные числовые типы
Тип INTEGER
Тип SMALLINT
Тип BIGINT
Тип NUMERIC

Компоненты SQL
SQL — это язык, специально разработанный, чтобы создавать и поддерживать данные в реляционных базах. И хотя компании, поставляющие системы для управления такими базами, предлагают свои реализации SQL, развитие самого языка определяется и контролируется стандартом ISO/ANSI. Этот стандарт пересматривался последний раз в 2003 году. Все реализации в большей или меньшей степени отличаются от стандарта.

Язык определения данных
Создание таблиц
Таблица CUSTOMER
Место для представления
Однотабличное представление
Создание представления
Создание многотабличного представления
Таблицы базы данных магазина спорттоваров
Структура базы данных магазина спорттоваров
Создание многотабличного

Создание и поддержка простой базы данных
В течение своей истории компьютерные технологии менялись так быстро, что в череде их технологических "поколений" иногда нетрудно и запутаться. Вначале для работы с большими базами данных использовались языки высокого уровня, так называемые языки третьего поколения — FORTRAN, COBOL, Basic, Pascal и С. Затем вошли в употребление языки, специально предназначенные для использования с базами данных, например dBASE, Paradox и R:BASE. (А к какому поколению отнести эти языки?

Создание простой БД с RAD инструментом
Правдоподобный сценарий
Экран появившийся при создании
Экран проекта дает полный контроль
Диалоговое окно создания таблицы
Значения по умолчанию для свойств
Диалоговое окно создания таблицы
Поле Имя таблицы в окне Сохранить как
Внимание
Диалоговое окно определения первичного ключа

Создание многотабличной реляционной базы данных
В этой главе будет представлен пример создания многотабличной базы данных. Первый шаг при проектировании такой базы — решить, что в ней должно быть, а чего не должно. Второй шаг состоит в том, чтобы установить, каким образом имеющиеся в базе элементы будут связаны друг с другом, и создать таблицы с учетом этой информации. Я расскажу, как использовать ключи для получения быстрого доступа к индивидуальным табличным записям и индексам.

Проектирование базы данных
Действие 1 определение объектов
Действие 2 определение таблиц и столбцов
Внимание
Действие 3 точное определение таблиц
Таблицы базы данных VetLab
Таблицы и связи базы данных VetLab
Ускорение работы БД с помощью ключей
Первичные ключи
Работа с индексами

Манипуляции данными из базы
Работа с данными Получение из таблицы нужных данных Вывод информации, выбранной из одной или множества таблиц Обновление информации, находящейся в таблицах и представлениях Добавление новой строки в таблицу Изменение всех или только некоторых данных, находящихся в строке таблицы Удаление строки таблицы

Получение данных
Создание представлений
Создание представлений из таблиц
Представление ORDERS_BY_STATE
Создание представления с условием выборки
Представление REPORTINGJAG (задержка
Представление с модифицированным атрибутом
Представление созданное
Обновление представлений
Добавление новых данных

Определение значений
В этой книге постоянно подчеркивается, насколько важной для поддержания целостности базы данных является структура этой базы. Впрочем, хотя значение структуры базы данных часто недооценивается, но не надо забывать, что наибольшую важность все же представляют сами данные. В конце концов, значения, хранящиеся на пересечении строк и столбцов в таблице базы данных, являются "сырьем", из которого можно получать ценную информацию об имеющихся взаимоотношениях и тенденциях.

Значения
Значения типа записи
Литеральные значения
Примеры литералов различных типов данных
Переменные
Специальные переменные
Ссылки к столбцам
Выражения со значением
Строковые выражения со значением
Числовые выражения со значением

Сложные выражения со значением
SQL был назван подъязыком данных. Фактически единственная задача этого языка состоит в том, чтобы работать с информацией из базы данных. В SQL нет многих возможностей обычного процедурного языка. В результате, если разработчики используют SQL, то для организации выполнения программ им приходится думать о совмещении кода базового языка с кодом SQL. Это усложняет разработку программы и отрицательно сказывается на ее производительности.

Условные выражения GASC
Использование CASE с условиями поиска
Обновление значений на основе условия
Обход условий вызывающих ошибки
Использование выражения CASE со значениями
Специальное выражение CASE — NULLIF
Специальное выражение CASE — COALESCE
Преобразование типов данных с CAST
Использование выражения CAST внутри SQLкода
Использование выражения CAST при

Пристрелка к нужным данным
У системы управления базой данных есть две главные обязанности: хранение данных и обеспечение к ним легкого доступа. В хранении данных нет ничего особенного, ту же работу может выполнять и шкаф. А что действительно трудно — так это обеспечить удобный доступ к данным. Для этого необходимо иметь возможность выловить небольшое количество нужных данных из океана ненужных.

Уточняющие предложения
Уточняющие предложения и их назначение
Предложения From
Предложения WHERE
Предикаты сравнения
Предикаты сравнения языка SQL
SIMILAR
NULL
Внимание
ALL SOME ANY

Реляционные операторы
SQL — это язык запросов, используемый в реляционных базах данных. Почти во всех примерах предыдущих глав рассматривались простые базы данных с одной таблицей. Теперь настало время показать, в чем же состоит реляционность реляционной базы. Вообще говоря, эти базы называются "реляционными" потому, что состоят из множества связанных друг с другом таблиц (а "связанные друг с другом" — это по-английски "related").

UNION
Внимание
INTERSECT
EXCEPT
Операторы объединения
Простой оператор объединения
Объединение основанное на равенстве
Перекрестное объединение
Естественное объединение
Условное объединение

Использование вложенных запросов
Одним из лучших способов защиты целостности данных является исключение аномалий модификации с помощью нормализации базы данных. Нормализация заключается в разбиении одной таблицы на несколько других по тематическому признаку. Например, нецелесообразно держать в одной таблице данные и о товарах, и об их покупателях, а лучше разнести эти данные по различным таблицам.

Зачем использовать подзапрос
Что делают подзапросы
Вложенные подзапросы - наборы строк
Таблица PRODUCT
Таблица COMPONENT
Таблица COMPOSED
Подзапросы перед которыми стоит IN
Подзапросы перед которыми стоит NOT IN
Вложенные запросы возвращающие 1 значение
Таблица CUSTOMER

Рекурсивные запросы
SQL-92 и более ранние версии часто критиковали за отсутствие реализации рекурсивной обработки. Многие важные задачи, которые трудно решить другими средствами, легко решаются с помощью рекурсии. В SQL: 1999 появились расширения, позволяющие создавать рекурсивные запросы. Благодаря этим расширениям мощь языка SQL существенно возрастает.

Что такое рекурсия
Результат вызова spiral(1)
Маленькие трудности
Сбой недопустим
Что такое рекурсивный запрос
Где можно использовать запрос
Авиарейсы компании Vannevar Airlines
Трудный способ
Экономия времени с рекурсивным запросом
Таблица ReachableFrom

Обеспечение безопасности базы данных
Системный администратор должен обладать различными специальными знаниями, касающимися работы системы. Поэтому в предыдущих главах рассказывалось о тех частях SQL, с помощью которых создаются базы и выполняется обработка данных. В главе 3 вы познакомились с теми средствами SQL, которые предназначены для защиты базы данных. В этой главе более подробно рассматривается вопрос неправильного использования базы данных.

Язык управления данными как SQL
Уровни пользовательского доступа
Администратор базы данных
Владельцы объектов базы данных
"Публика"
Иерархическая структура полномочий доступа
Предоставление полномочий пользователям
Роли
Вставка данных
Просмотр данных

Защита данных
Каждый слышал о законе Мерфи, который формулируется обычно так: "Если какая-нибудь неприятность может случиться, она случается". Большую времени дела идут хорошо, и мы потешаемся над этим псевдозаконом. Временами нам даже кажется, что мы из тех немногих счастливчиков, над кем не властен один из основных законов мироздания. Даже если неприятности все-таки происходят, то мы обычно легко с ними справляемся.

Угрозы целостности данных
Нестабильность платформы
Внимание
Аппаратный сбой
Одновременный доступ
Проблемы взаимодействия транзакций
Последовательное выполнение исключает
Внимание Последовательное выполнение
Использование транзакций SQL Одним
Оператор COMMIT Хотя в SQL 2OO3

Использование SQL в приложениях
Хотя синтаксис языка SQL похож на синтаксис английского языка, изучить SQL все равно нелегко. Подавляющее большинство сегодняшних пользователей им не владеют в достаточной мере. И можно предположить, что даже если эта книга и завоюет широкую популярность, то все равно подавляющее большинство компьютерных пользователей так никогда и не будут свободно владеть SQL. Если обычному пользователю поставить задачу, связанную с базой данных, он и не подумает садиться к терминалу и вводить оператор SELECT.

SQL в приложении
Внимание
Сильные и слабые стороны SQL
Сильные и слабые стороны процедурных языков
Трудности совместного использования SQL
Противоположные режимы работы
Несовместимость типов данных
SQL код в программе на процедурном языке
Встроенный SQL
Объявление базовых переменных

ODBC и JDBC
С каждым годом компьютеры одной организации или нескольких различных организаций все чаще соединяются друг с другом. Поэтому возникает необходимость в налаживании совместного доступа к базам данных по сети. Главным препятствием для совместного использования баз данных является несовместимость системного программного обеспечения и приложений, работающих на разных компьютерах.

ODBC
Интерфейс ODBC
Компоненты ODBC
ODBC в среде клиент/сервер
ОDBC и Internet
Система клиент/сервер с системой на Web
Серверные расширения
Система базы данных на основе Web
Клиентские расширения
Вспомогательные приложения

SQL 2003 и XML
Одной из самых существенных новых функциональных возможностей языка SQL:2003 является поддержка файлов XML (extensible Markup Language — расширяемый язык разметки), которые все больше становятся универсальным стандартом обмена данными между разнородными платформами. Для XML не имеет значения, с какой средой приложения, операционной системой или аппаратным обеспечением работает пользователь, которому предоставляются данные.

Как XML связываемся с SQL
Тип данных XML
Когда используются XMLданные
Когда ХМLданные не используются
Преобразование из SQL в XML и наоборот
Преобразование наборов символов
Преобразование идентификаторов
Преобразование типов данных
Преобразование таблиц
Обработка неопределенных значений

MySQL & mSQL

В мире программирования 1990-е годы можно по праву назвать десятилетием программного обеспечения с открытым кодом (Open Source software). Движение Open Source оставило свой след практически в каждом уголке технологий - от Linux до Perl и от карманных компьютеров до мэйнфреймов. Это влияние особенно сильно в области серверных приложений среднего масштаба, в которых часто нуждаются некоммерческие организации и малые предприятия и которыми пренебрегают нацеленные на коммерческий успех производители.
В первые два десятилетия компьютерного века серверы среднего масштаба встречались достаточно редко. Компьютеры были дорогими изделиями, имевшимися в больших учреждениях, таких как банки и университеты. Громадные серверы, работавшие в режиме разделения времени, обеспечивали вычислительными мощностями целые корпорации. Большая использовавшегося на этих системах программного обеспечения была такой же грандиозной, как сами серверы. Поскольку единственный компьютер обслуживал нужды нескольких подразделений, если не всей организации, ему приходилось удовлетворять запросы всех пользователей.

Предисловие
В основном раздел предназначен для двух групп читателей. Прежде всего это те, кто заинтересован в использовании MySQL и mSQL с точки зрения администратора баз данных или программиста баз данных. С другой стороны, для каждого, желающего узнать об администрировании реляционных баз данных и программировании, не раскошеливаясь при этом на лицензию, приобретаемую у кого-нибудь из больших парней, MySQL или mSQL окажется отличной отправной точкой. Если вы начинаете с MySQL или mSQL, то эта книга для вас.

Предисловие
Предисловие - 2
Предисловие - 3
Предисловие - 4
Предисловие - 5
Предисловие - 6

Что такое база данных?
Большие корпоративные вычислительные центры в течение многих лет используют сложные и дорогие программные продукты для работы с базами данных. Использование этих обладающих полным набором возможностей и тщательно оптимизированных программных систем является единственным способом управления теми объемами корпоративной информации, которые существуют в больших компаниях.

Что такое база данных?
Что такое реляционная база данных?
Приложения и базы данных
Приложения и базы данных - 2
MySQL и mSQL
MySQL и mSQL - 2
MySQL и mSQL - 3
MySQL и mSQL - 4
MySQL и mSQL - 5
MySQL и mSQL - 6

Проектирование баз данных
После установки на компьютере СУБД у вас может возникнуть сильный соблазн сразу начать создание базы данных, не задумываясь о планировании. Как и в других случаях разработки программного обеспечения, такой подход оправдан лишь при решении простейших задач. Если вы рассчитываете, что ваша база данных должна будет поддерживать хоть какую-то степень сложности, немного планирования и проектирования, в конечном итоге, несомненно сбережет ваше время

Проектирование баз данных
Проектирование баз данных - 2
Проектирование баз данных - 3
Нормализация
Нормализация - 2
Нормализация - 3
Нормализация - 4
Нормализация - 5
Нормализация - 6
Нормализация - 7

Установка
Подобно большинству сервисов, СУБД MySQL и mSQL работают как фоновые процессы, в Unix-системах называемые также демонами. В данной главе обсуждается процесс их распаковки и установки.

MySQL
MySQL - 2
MySQL - 3
MySQL - 4
MySQL - 5
MySQL - 6

Проект
Опираясь на наследство, полученное от mSQL, TcX решила, что MySQL должна быть не медленнее mSQL, обладая при этом большим набором возможностей. В то время mSQL задавала тон в производительности баз данных, так что задачу себе ТсХ поставила непростую. Особыми целями проектирования MySQL были скорость, надежность и простота использования. Чтобы достичь такой производительности, в ТсХ приняли решение сделать многопоточным внутренний механизм MySQL

Проект
Проект - 2
Установка MySQL
Запуск MySQL
Администрирование базы данных
Администрирование базы данных - 2
Администрирование базы данных - 3
Администрирование базы данных - 4
Администрирование базы данных - 5
Администрирование базы данных - 6

Архитектура
Концепции баз данных и их проектирование имеют очень важное значение, но вы, вероятно, хотите приступить к непосредственной работе с MySQL или mSQL. He исключено, что вы уже выбрали ту или иную СУБД соответственно своим потребностям. Возможно, однако, вы надеетесь, что эта книга поможет вам принять такое решение. В этой главе мы подробно разберем mSQL. Если вы уже стали приверженцем MySQL, то эту главу можно пропустить.

Архитектура
Архитектура - 2
Версии mSQL
Версии mSQL - 2
Установка mSQL
Запуск mSQL
Запуск mSQL - 2
Запуск mSQL - 3
Запуск mSQL - 4
Администрирование баз данных

Основы SQL
Для чтения и записи в базах данных MySQL и mSQL используется структурированный язык запросов (SQL). Используя SQL, можно осуществлять поиск, вводить новые данные или удалять данные. SQL является просто основополагающим инструментом, необходимым для взаимодействия с MySQL и mSQL. Даже если для доступа к базе данных вы пользуетесь каким-то приложением или графическим интерфейсом пользователя, где-то в глубине это приложение генерирует SQL-команды.

Основы SQL
Основы SQL - 2
Основы SQL - 3
Создание и удаление таблиц
Создание и удаление таблиц - 2
Типы данных в SQL
Типы данных в SQL - 2
Типы данных в SQL - 3
Типы данных в SQL - 4
Типы данных в SQL - 5

Другие СУБД среднего масштаба
Когда mSQL впервые вышла на сцену, это была единственная СУБД среднего масштаба с поддержкой SQL. Но она недолго оставалась в одиночестве. Конечно, вы уже знаете о другой такой базе данных: MySQL. За годы, прошедшие после появления mSQL, появилось и несколько СУБД среднего класса. Мы сосредоточились в этой книге на MySQL и mSQL из-за их очень большого сходства и громадной популярности.

Что значит «бесплатный»?
Чего недостает MySQL и mSQL
Чего недостает MySQL и mSQL - 2
Чего недостает MySQL и mSQL - 3
PostgreSQL
GNU SQL
Beagle
Сравнение характеристик

Архитектура клиент/сервер
Прежде чем разбираться в деталях разработки приложений для работы с базами данных на различных языках, следует потратить некоторое время и шире взглянуть на проектирование этих приложений. Эта глава концептуальная: мы хотим рассмотреть архитектуру клиент/ сервер, лежащую в основе программирования баз данных. Эти вопросы важны для программирования MySQL и mSQL, но не являются специфичными только для этих СУБД.

Архитектура клиент/сервер
Обработка данных
Объектное/реляционное моделирование
Трехзвенная архитектура

Что такое CGI?
Включение раздела о CGI в книгу по базам данных может показаться столь же странным, как если бы в кулинарную книгу была включена глава о ремонте автомобилей. Разумеется, для того чтобы съездить в магазин за продуктами, нужен исправный автомобиль, но уместно ли об этом говорить? Полное изложение CGI и веб-программирование в целом выходят за рамки данной книги, но краткого введения в эти темы достаточно для того, чтобы расширить возможности MySQL и mSQL по представлению данных в царстве Web.

Что такое CGI?
Формы HTML
Формы HTML - 2
Формы HTML - 3
Формы HTML - 4
Формы HTML - 5
Спецификация CGI
Спецификация CGI - 2
Спецификация CGI - 3
Спецификация CGI - 4

Пример приложения, использующего DBI
Существуют два интерфейса между Perl и MySQL с mSQL. Более ранний состоит из специализированных интерфейсов Myaql.pm и Msql.pm, которые работают только с MySQL и mSQL соответственно. Другой, более новый интерфейс является подключаемым модулем в комплекте DBI (DataBase Independent) - независимых от базы данных модулей. DBI является попыткой обеспечить общий Perl API для доступа к любым базам данных и предоставления более высокой переносимости.

DBI
DBI - 2
DBI - 3
DBI - 4
DBI - 5
DBI - 6
Пример приложения, использующего DBI
Пример приложения, использующего DBI - 2
Пример приложения, использующего DBI - 3
Пример приложения, использующего DBI - 4

Основы подключения к базам данных
Если вы пишете много программ на Perl, но не знакомы с Python, вам определенно следует познакомиться с ним. Python является объектно-ориентированным языком сценариев, сочетающим мощь таких языков, как Perl и Tсl, с понятным синтаксисом, что позволяет создавать приложения, которые легко поддерживать и развивать.

Основы подключения к базам данных
Основы подключения к базам данных - 2
Основы подключения к базам данных - 3
Динамическое соединение с базами данных

Альтернативные методы создания динамического содержания Web
Есть несколько простых в использовании программных расширений HTML, обеспечивающих поддержку доступа к серверам баз данных MySQL и mSQL с веб-страниц. В этой главе мы начнем с W3-mSQL -средства для mSQL. Затем покажем менее связанный с конкретной базой данных подход с помощью РНР и двух небольших расширений Perl. Имеющийся в W3-mSQL язык сценариев Lite позволяет встраивать в HTML-файлы целые программы.

Альтернативные методы создания Web
Альтернативные методы создания Web - 2
W3-mSQL
W3-mSQL - 2
W3-mSQL - 3
W3-mSQL - 4
РНР
РНР - 2
Встроенный Perl
Встроенный Perl - 2

Два API
Как MySQL, так и mSQL предоставляют С-библиотеки, позволяющие создавать приложения для работы с базами данных MySQL и mSQL. В действительности API MySQL ведет свое происхождение от mSQL, благодаря чему опыт программирования в одном API позволяет легко перейти к другому. Однако, как мы видели в первой части, MySQL значительно богаче функциями, чем mSQL. Естественно, эти дополнительные функции приводят к некоторым различиям между двумя API.

Два API
Два API - 2
Два API - 3
Два API - 4
Два API - 5
Объектно-ориентированный доступ к БД на C
Объектно-ориентированный доступ к БД на C - 2
Объектно-ориентированный доступ к БД на C - 3
Объектно-ориентированный доступ к БД на C - 4
Объектно-ориентированный доступ к БД на C - 5

Что такое JDBC?
JDBC является единым интерфейсом ко всем базам данных, достаточно изучить его, чтобы писать приложения, которые будут работать как с MySQL, так и с mSQL. На самом деле, если должным образом использовать JDBC, то написанные вами на Java приложения смогут работать с любой СУБД. Если у вас есть доступ к другим базам данных, кроме MySQL и mSQL, можете проверить верность этого утверждения, запустив примеры данной главы с другой базой данных.

Что такое JDBC?
Что такое JDBC? - 2
Что такое JDBC? - 3
Что такое JDBC? - 4
Простой доступ к базе данных
Простой доступ к базе данных - 2
Простой доступ к базе данных - 3
Динамический доступ к базе данных
Динамический доступ к базе данных - 2
Серверное приложение гостевой книги

MySQL SQL
Для модификации таблицы MySQL создает копию таблицы и изменяет ее, выполняя все модифицирующие запросы. Когда все изменения сделаны, старая таблица удаляется, а ее место занимает новая таблица. В этой точке выполняются все поставленные в очередь запросы. В целях безопасности, если какой-либо из запросов создает дублирующие ключи, которые должны быть уникальными, предложение ALTER откатывается и отменяется. Если в предложении присутствует ключевое слово IGNORE, дублированные уникальные ключи игнорируются, и запрос ALTER исполняется как обычно.

MySQL SQL
MySQL SQL - 2
MySQL SQL - 3
MySQL SQL - 4
MySQL SQL - 5
MySQL SQL - 6
MySQL SQL - 7
MySQL SQL - 8
MySQL SQL - 9
MySQL SQL - 10

Системные переменные MySQL
Для настройки работы MySQL и mSQL могут использоваться некоторые переменные. Многие из них являются переменными окружения, которые наследуются от оболочки пользователя, в то время как другие устанавливаются с помощью командной строки и файлов конфигурации.

Системные переменные MySQL
Системные переменные MySQL - 2
Системные переменные MySQL - 3
Системные переменные MySQL - 4
Системные переменные MySQL - 5
Системные переменные mSQL

Утилиты MySQL
MySQL и mSQL включают в себя обширный набор программ и утилит, которые упрощают общение с базой данных. Многие из этих программ адресованы конечным пользователям для чтения и записи данных, а другие предназначены администраторам баз данных для управления и восстановления базы данных в целом.

Утилиты MySQL
Утилиты MySQL - 2
Утилиты MySQL - 3
Утилиты MySQL - 4
Утилиты MySQL - 5
Утилиты MySQL - 6
Утилиты MySQL - 7
Утилиты MySQL - 8
Утилиты MySQL - 9
Утилиты MySQL - 10

PHP
Здесь вы найдете краткое справочное руководство по РНР. Список приведенных функций относится к РНР 3. Описаны те функции, которые работают с MySQL и mSQL, но пропущены функции для работы с другими серверами баз данных, такими как Ababas D, dbm, Oracle и PostgreSQL.

PHP
PHP - 2
PHP - 3
PHP - 4
PHP - 5
PHP - 6
PHP - 7
PHP - 8
PHP - 9
PHP - 10

MySQL С API
MySQL С API кроме стандартных типов данных языка С использует некоторые свои типы данных. Они определены в заголовочном файле 'mysql.h', который необходимо подключать при компиляции всех программ, использующих библиотеку MySQL.

MySQL С API
MySQL С API - 2
MySQL С API - 3
MySQL С API - 4
MySQL С API - 5
MySQL С API - 6
MySQL С API - 7
MySQL С API - 8
MySQL С API - 9
MySQL С API - 10

Модуль: MySQL
В действительности есть несколько модулей Python, предоставляющих доступ к базам данных MySQL и mSQL. В большинстве аспектов они очень схожи между собой. В этой главе приводятся спецификации API для двух наиболее часто используемых модулей. Однако важно указать на приближающуюся унификацию разных API для баз данных в едином API, специфицированном Python Database SIG. В настоящее время mSQL не поддерживает этот API.

Модуль: MySQL
Модуль: MySQL - 2

Установка
Для модулей MsqlPerl и MysqlPerl необходим ANSI-совместимый компилятор С, а также обычные сопутствующие средства, такие как make, Id и т. д. Вам должно хватить тех средств, с помощью которых вы собрали Perl.

Установка
Установка - 2
DBI.pmAPI
DBI.pmAPI - 2
DBI.pmAPI - 3
DBI.pmAPI - 4
DBI.pmAPI - 5
DBI.pmAPI - 6
DBI.pmAPI - 7
DBI.pmAPI - 8

Справочник по JDBC
Пакет java.sql содержит весь JDBC API. Впервые он был включен в ядро библиотек Java в версии 1.1. Классы, добавленные в JDK 1.2, отмечены в заголовке «Доступность». Методы, не рекомендуемые к использованию, предваряются символом «решетки» (#). Методы JDK 1.2 в старых классах JDK 1.1 выделены полужирным шрифтом.

Справочник по JDBC
Справочник по JDBC - 2
Справочник по JDBC - 3
Справочник по JDBC - 4
Справочник по JDBC - 5
Справочник по JDBC - 6
Справочник по JDBC - 7
Справочник по JDBC - 8
Справочник по JDBC - 9
Справочник по JDBC - 10

Введение в СУБД MySQL

В наши дни люди часто говорят о базах данных. Компьютеры составляют неотъемлемую современного общества, поэтому нередко можно услышать фразы вроде "Я поищу твою запись в базе данных". И речь идет не о больших ящиках, где хранятся груды папок, а о компьютерных системах, предназначенных для ускоренного поиска информации.
Компьютеры так прочно вошли в нашу жизнь, потому что их можно запрограммировать на выполнение утомительных, повторяющихся операций и решение задач, которые нам самим было бы не под силу решить без их вычислительной скорости и емкости информационных носителей. Помещение информации на бумагу и разработка схемы хранения бумаг в папках и картотеках — достаточно четко отработанный процесс, но многие вздохнули с облегчением, когда задача свелась к перемещению электронных документов в папки на жестком диске.
Одной из функций баз данных является упорядочение и индексация информации. Как и в библиотечной картотеке, не нужно просматривать половину архива, чтобы найти нужную запись. Все выполняется гораздо быстрее.
Не все базы данных создаются на основе одних и тех же принципов, но традиционно в них применяется идея организации данных в виде записей. Каждая запись имеет фиксированный набор полей. Записи помещаются в таблицы, а совокупность таблиц формирует базу данных.

Компьютерные системы хранения
СУБД управляет одной или несколькими базами данных. База данных представляет собой совокупность информации, организованной в виде множеств. Каждое множество содержит записи унифицированного вида. Сами записи состоят из полей. Обычно множества называют таблицами, а записи — строками таблиц.

СУБД
Системы управления файлами
Иерархические базы данных
Сетевые базы данных
Реляционные базы данных
Объектно-ориентированные базы данных
Объектно-реляционные базы данных
Основные характеристики MySQL
Основные характеристики MySQL - 2
Компьютерные системы хранения

Загрузка MySQL
MySQL можно инсталлировать двумя способами: скомпилировав исходные коды программы или воспользовавшись предварительно скомпилированными двоичными файлами. Первый вариант допускает больше возможностей в плане конфигурации, но более продолжителен. Второй вариант удобнее, так как есть готовые дистрибутивы для многих операционных систем.

Проверка исходных требований
Выбор версии
Инсталляция с - менеджер пакетов RedHat Linux
Инсталляция в Windows
Инсталляция в Windows - 2
Инсталляция вручную
Компиляция программы
Предоставление привилегий
Загрузка MySQL
Проверка исходных требований

Создание базы данных в Windows
Запустите сервер MySQL, выполняя команду mysqld-shareware -standalone в строке приглашения в каталоге c:\mysql\bin. Более подробно об этом сказано выше, в лекции об установке MySQL в Windows. Затем вызовите программу клиента mysql, вводя в строке приглашения mysql. Приглашение изменится на mysql.

Создание базы данных в Windows
Создание базы данных в Linux
Команда CREATE DATABASE
Работа с таблицами
Использование базы данных
Создание таблицы
Синтаксис команды CREATE TABLE
Удаление таблиц
Синтаксис команды DROP TABLE
Создание базы данных в Windows

Числовые типы данных
MySQL поддерживает все числовые типы данных языка SQL92 по стандартам ANSI/ISO. Они включают в себя типы точных числовых данных (NUMERIC, DECIMAL, INTEGER и SMALLINT) и типы приближенных числовых данных (FLOAT, REAL и DOUBLE PRECISION). Ключевое слово INT является синонимом для INTEGER, а ключевое слово DEC - синонимом для DECIMAL.

Числовые типы данных
Числовые типы данных - 2
Типы данных даты и времени
Типы данных DATETIME, DATE и TIMESTAMP
Типы данных DATETIME, DATE и TIMESTAMP - 2
Тип данных TIME
Тип данных YEAR
Символьные типы данных
Типы данных CHAR и VARCHAR
Типы данных BLOB и TEXT

Запись данных в таблицы
Создание дополнительных записей требует использования отдельных операторов INSERT. Чтобы облегчить эту работу можно поместить все операторы INSERT в файл employee.dat. Это должен быть обычный текстовый файл с оператором INSERT в каждой строке.

Запись данных в таблицы
В системе Windows
В системе Linux
Запрос данных из таблицы MySQL
Задания
Возможные решения
Выборка данных с помощью условий
Операторы сравнения = и !=
Операторы больше и меньше
Операторы = и =

Упорядочивание данных
Рассмотрим вопрос о том, как можно изменить порядок вывода данных, извлеченных из таблиц MySQL, используя предложение ORDER BY оператора SELECT. Извлекаемые до сих пор данные всегда выводились в том порядке, в котором они были сохранены в таблице. В действительности SQL позволяет сортировать извлеченные данные с помощью предложения ORDER BY. Это предложение требует имя столбца, на основе которого будут сортироваться данные.

Упорядочивание данных
Задания
Возможные решения
Ограничение количества извлекаемых данных
Извлечение подмножеств
Задания
Возможные решения
Ключевое слово DISTINCT
Задания
Возможные решения

Поиск минимального и максимального значений
В MySQL имеются встроенные функции для вычисления минимального и максимального значений. SQL имеет 5 агрегатных функций. MIN(): минимальное значениеMAX(): максимальное значениеSUM(): сумма значенийAVG(): среднее значенийCOUNT(): подсчитывает число записей

Минимальное значение
Максимальное значение
Задания
Возможные решения
Суммирование значений столбца - SUM
Вычисление среднего значения
Задания
Возможные решения
Именование столбцов
Подсчет числа записей

Математические функции MySQL
Описанные ниже функции выполняют различные математические операции. В качестве аргументов большинство из них принимает числа с плавающей запятой и возвращает результат аналогичного типа. ABS (число) Эта функция возвращает модуль числа

Математические функции MySQL
Математические функции MySQL - 2

Работа с датой
До сих пор мы имели дело с текстом (varchar) и числами (int). Чтобы понять тип данных date (дата) создадим еще одну таблицу, аналогично тому, как была создана первая таблица. Создадим в текстовом редакторе файл employee_per.dat, который содержит оператор создания таблицы CREATE

Особенности типа данных Date
Операции с датами
Использование операторов = и !=
Использование операторов = и =
Определение диапазонов
Задания
Возможные решения
Использование Date для сортировки данных
Выбор данных с помощью Date
Текущие даты

Строковые функции
В этой лекции рассмотрим команды MySql, предназначенные для обработки строковых данных

ORD(строка)
BIN(N)
ВIT_LENGTH(строка)
CHAR(iV,...)
CHARACTER_LENGTH(строка)
COMPRESS(строка_для_сжатия)
CONCAT(строка1, строка2, ...)
CONCAT_WS(разделитель, строка1, строка2, ...)
CONV(N, основание_начальное)
ELT(N, строка1, строка2, строкаЗ, ...)

Битовые функции
MySQL использует для двоичных операций 64-битовые величины BIGINT, следовательно, для двоичных операторов максимальный диапазон составляет 64 бита.

BIT_COUNT(N)
Функции шифрования
AES_DECRYPT(зашифрованная_строка)
DECODE(зашифрованная_строка, строка_пароля)
ENCODE(строка, строка_пароля)
DES_DECRYPT(строка_ключа)
DES_ENCRYPT(номер_ключа\строка_ключа)
ENCRYPT(строка [, нач])
MD5(строка)
PASSWORD(строка)

Вывод данных из базы данных
Переменная $result является массивом. Причем не простым массивом, а двумерным. В нем содержатся три строки с номерами от 0 до 2. каждая из которых содержит 5 столбцов от 0 до 4. Для того, чтобы вывести на странице все записи, нам надо пройти от 0-й строчки массива до 2-й. Лучше всего это делать в цикле с помощью функции mysql_fetch_row (которая в переводе буквально означает – "выбрать ряд").

Вывод данных из базы данных
Вывод данных из базы данных - 2
Создаем ссылки на лету
Сохранение данных в базе данных
Сохранение данных в базе данных - 2
Сохранение данных в базе данных - 3
Example.12.1
Example.12.1
Example.12.2
Example.12.2

Пример приложения, использующего DBI
DBI допускает любые SQL-запросы, поддерживаемые MySQL и mSQL. Например, рассмотрим базу данных, используемую в школе для ведения учета учащихся, состава классов, результатов экзаменов и т. д. База данных должна содержать несколько таблиц: одну для данных о предметах, другую для данных об учащихся, таблицу для списка экзаменов и по одной таблице для каждого экзамена. Возможность MySQL и mSQL выбирать данные из нескольких таблиц, используя объединение таблиц, позволяет совместно использовать таблицы как согласованное целое для создания приложения, облегчающего работу учителя.

DBI
DBI - 2
Пример приложения, использующего DBI
Пример приложения, использующего DBI - 2
Example.13.1
Example.13.1
Example.13.2
Example.13.2
Example.13.3
Example.13.3

SQL1

Типы данных, распознаваемые с помощью ANSI, состоят из символов и различных типов чисел, которые могут классифицироваться как точные числа и приблизительные числа.
Точные числовые типы это числа с десятичной точкой или без десятичной точки. Приблизительные числовые типы это числа в показательной (экспоненциальной по основанию 10) записи.
Для всех прочих типов отличия слишком малы чтобы их как-то классифицировать.
Иногда типы данных используют аргумент, который называют размером аргумента, чей точный формат и значение меняется в зависимости от конкретного типа.

Типы данных в SQL
Строка текста в реализационно определенном формате. Размер аргумента здесь это единственное неотрицательное целое число, которое ссылается к максимальной длине строки. Значения этого типа должны быть заключены в одиночные кавычки, например, 'text'. Две рядом стоящие одинарные кавычки ('') внутри строки будут пониматься как одна одинарная кавычка (').

Типы ANSI
Эквивалентные типы данных в других языках
PL/I
КОБОЛ
ПАСКАЛЬ
ФОРТРАН
Некоторые общие нестандартные средства SQL
Т7
Типы DATE и TIME
Типы текстовой строки

Специальные операторы ANY или SOME
Операторы SOME и ANY взаимозаменяемы везде, и там, где мы используем ANY, SOME будет работать точно так же. Различие в терминологии состоит в том, чтобы позволить людям использовать тот термин, который является однозначным. Это может создать проблему, поскольку, как мы это увидим, наша интуиция может иногда вводить в заблуждение.

Использование IN или EXISTS вместо ANY
Использование IN или EXISTS вместо ANY - 2
Как ANY может стать неоднозначным?
Как ANY может стать неоднозначным? - 2
Как ANY может стать неоднозначным? - 3
Специальный оператор ALL
Равенства и неравенства
Правильное понимание ANY и ALL
ANY, ALL и EXIST и неизвестные данные
Когда подзапрос возвращается пустым?

Типичный каталог системы
Каждая строка описывает свою таблицу. Первый столбец - имя; второй - имя пользователя, который владеет ею; третий - число столбцов таблицы; четвертый - код из одного символа: это или B (для базовой таблицы), или V (для представления). Последний столбец имеет пустые (NULL) значения, если его тип не равен V, и этот столбец указывает, определена или нет возможность проверки.

Представления в таблицах каталога
Представления в таблицах каталога - 2
Комментарий в содержании каталога
Остальное содержимое каталога
SYSTEMINDEXES - Индексация в базе данных
SYSTEMUSERAUTH - Привилегии в базе данных
SYSTEMTABAUTH - Привилегии объекта
SYSTEMTABAUTH - Привилегии объекта - 2
SYSTEMCOLAUTH - Авторизация столбца
SYSTEMSYNONS - Синонимы для таблиц в БД

Основы SQL

SQL (произносится обычно "СЭКВЭЛ" (или, более англообразно - СКЬЮЭЛ)) означает Структурированный Язык Запросов.
Это язык, который дает возможность создавать реляционные базы данных (и работать с ними), которые представляют собой наборы связанной информации, сохраняемой в таблицах.
Мир БД становится всё более единым, что привело к необходимости создания стандартного языка, который мог бы использоваться для функционирования в большом количестве различных видов компьютерных сред. Стандартный язык даст возможность пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять и передавать информацию, независимо от того, где идёт работа: на персональном компьютере, сетевой рабочей станции или на универсальной ЭВМ.

Что такое "Реляционная база данных"?
Реляционная база данных это тело связанной информации, сохраняемой в двухмерных таблицах. Это напоминает адресную или телефонную книгу. В любой книге имеется большое количество разделов, каждый из которых соответствует определённой особенности. Для каждой такой особенности может быть несколько независимых фрагментов данных, например: имя, телефонный номер и адрес.

Связывание одной таблицы с другой
Порядок строк произволен
Идентификация строк (первичный ключ)
Столбцы именуются и нумеруются
Типовая база данных
Типовая база данных - 2
Резюме
Работа со SQL
SQL. Обзор.
Как работает SQL?

Использование UNION С ORDER BY
До сих пор мы не оговаривали, что данные нескольких запросов будут выводиться в каком-то особом порядке. Мы просто показывали вывод сначала из одного запроса, а затем из другого. Конечно, вы не можете полагаться на вывод, приходящий в произвольном порядке. Мы как раз сделаем так, чтобы этот способ выполнения примеров был более простым. Вы можете использовать предложение ORDER BY, чтобы упорядочить вывод из объединения, точно так же, как это делается в индивидуальных запросах.

Внешнее объединение
Внешнее объединение - 2
Внешнее объединение - 3
Резюме
Работа с SQL
Ввод, удаление и изменение значения поля
Команды модификации языка DML
Ввод значений
Вставка NULL
Именование столбца для вставки (INSERT)

Извлечение значений переменных
Кроме помещения значений переменных в таблицы с помощью команды SQL, вы можете использовать SQL для получения значений этих переменных. Один из способов сделать это - с помощью разновидности команды SELECT, которая содержит предложение INTO. Давайте вернемся к нашему предыдущему примеру и переместим строку Peel из таблицы Продавцов в наши переменные главного языка.

Курсор
Курсор - 2
SQLCODE
SQLCODE для управления циклами
Предложение WHENEVER
Модифицирование курсоров
Модифицирование курсоров - 2
Переменная INDICATOR
Переменная INDICATOR - 2
INDICATOR для эмуляции NULL-значений SQL


Рынки акций - перейти
Вексельное обращение - перейти
Рынок облигаций - перейти
Фондовая торговля - перейти
Дэйтрейдинг онлайн - перейти
Внутридневной трейдинг - перейти
Игра на бирже - перейти
Фондовый рынок РФ - перейти
Microsoft Project -управление проектами - перейти
Введение в MS Project - перейти
Установка, запуск и настройка - перейти
Таблицы - перейти
Сортировка, группировка и фильтрация данных - перейти
Диаграмма Ганта - перейти
Сетевые графики - перейти





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий