alan_beaulieu-learning_sql-ru (865932), страница 52
Текст из файла (страница 52)
Также в продаже естьнесколько замечательных инструментов, которые помогут строить,вычислять и настраивать SQLвыражения. Вот некоторые из них:• Quest Central for Oracle и Quest Central for SQL Server• Quest Software (http://www.quest.com)• Embarcadero SQL Profiler• Embarcadero Technologies (http://www.embarcadero.com)• Oracle Enterprise Manager Tuning Pack298Приложение D•Oracle Corporation (http://www.oracle.com)Можно порекомендовать несколько хороших книг по настройке производительности SQL:Томас Кайт (Thomas Kyte) «Effective Oracle by Design», McGrawHill Osborne Media, 2003.1Кэри Миллсап (Cary Millsap) и Джефф Хольт (Jeff Holt) «Optimizing Oracle Performance», O’Reilly, 2003.2Джереми Заводный (Jeremy Zawodny) и Дерек Баллинг (Derek Balling) «High Performance MySQL» (Высокопроизводительный MySQL),O’Reilly, 2004.Кен Ингланд (Ken England) «Microsoft SQL Server 2000 Performance Optimization and Tuning Handbook» (Справочник по оптимизации производительности и настройке Microsoft SQL Server 2000),Digital Press, 2001.Также есть много курсов по настройке производительности, предоставляемых следующими учебными центрами:• Oracle University (http://education.oracle.com)• Learning Tree International (http://www.learningtree.com)• Microsoft Learning (learning)• MySQL Training (training)Администрирование баз данныхАдминистрирование БД, на самом деле, – многогранная задача, которая может включать что угодно или все из перечисленного ниже:• Установка и конфигурирование сервера БД• Проектирование БД• Программирование БД, особенно хранимых процедур, функцийи триггеров• Система безопасности БД• Резервное копирование и восстановление• Настройка производительностиОрганизации покрупнее могут нанять одного или нескольких специалистов в каждой из вышеупомянутых областей, а более мелкие частоожидают, что со всем этим справится один администратор БД.
Если выбудете заниматься проектированием, программированием и настройкой, пожалуйста, ознакомьтесь со списками источников, приведенны12Томас Кайт «Эффективное проектирование приложений Oracle», Лори,2006.Кэри Миллсап «Oracle. Оптимизация производительности», СимволПлюс,2006.Дополнительные источники299ми в предыдущих разделах.
Однако все администраторы БД должныпрочитать общие книги по администрированию или пройти курсы, чтобы профессионально овладеть базовыми навыками администратора, такими как установка и конфигурирование БД, создание пользователейи назначение привилегий, стратегии резервного копирования и восстановления, формирование схем. Еще один основной источник для администраторов – справочное руководство по SQL для используемого сервера БД, где приведен синтаксис SQLвыражений управления схемой,таких как create index и alter table. Самые популярные справочники:Кевин Лоуни (Kevin Loney), Боб Брила (Bob Bryla) «Oracle Database10g DBA Handbook» (Справочник администратора Oracle Database10g), McGrawHill Osborne Media, 2004.«MySQL Administrator’s Guide», MySQL Press, 2004.1Энтони Секвейра (Anthony Sequeira), Брайан Алдерман (Brian Alderman) «The SQL Server 2000 Book», Paraglyph, 2003.Также есть масса курсов по администрированию, предоставляемыхследующими учебными центрами:•Oracle University (http://education.oracle.com)•Learning Tree International (http://www.learningtree.com)•Microsoft Learning (learning)•MySQL Training (training)Формирование отчетовЕсли вы отвечаете за разработку и формирование отчетов для своей организации, вот два самых важных навыка, которые стоит приобрести:•Знание возможностей механизма создания отчетов, используемыхв вашей организации•Владение в совершенстве реализацией SQL, используемого вашимсервером БДХотя большинство инструментов создания отчетов претендует на формирование SQL на базе визуального представления отчета, настоятельно рекомендую игнорировать эту возможность и самостоятельно создавать SQLвыражения для всех нетривиальных отчетов.
В этом случае вы точно будете знать, что отправляется серверу БД, и впоследствии сможете лучше поддерживать и настраивать отчеты.Некоторые механизмы создания отчетов достаточно гибки в отношении получения данных для отчета, но многие инструменты требуют,чтобы все данные одного отчета были сформированы посредством одного запроса.
Глубокое понимание SQL, особенно подзапросов (глава 9),1«MySQL. Руководство администратора», Вильямс, 2005.300Приложение Dопераций работы с множествами (глава 6) и условной логики (глава 11),позволит создавать гораздо более изощренные отчеты.Среди хороших книг по составлению отчетов можно назвать:Питер Блэкберн (Peter Blackburn), Уильям Вон (William Vaughn)«Hitchhiker’s Guide to SQL Server 2000 Reporting Services» (Руководство по службам отчетов SQL Server 2000), AddisonWesley,2004.Синди Хаусон (Cindi Howson) «Business Objects: The Complete Reference» (Business Objects. Полное руководство), McGrawHill Osborne Media, 2003.Нейл Фитцджеральд (Neil FitzGerald) и др. «Special Edition UsingCrystal Reports 10» (Использование Crystal Reports 10.
Специальное издание), Pearson Education, 2004.Алфавитный указательСимволы() (скобки), оценка условий, 73+ (конкатенация), оператор, 127, 133’ (апострофы), 124A, C, D, GANSI (Национальный институтстандартизации США), 19синтаксис соединения, 95CLOB (Character Large Object – большойсимвольный объект), тип данных, 32Configuration Wizard, запуск, 28Daylight Savings Time, декретное время,140GMT (время по Гринвичу), 140MMySQLустановка, 27выражение selectблок into outfile, 263индексы, вставка, 241описание, 24упорядоченные обновленияи удаления, 267–268часовые пояса, 142N, O, S, UNULL, значенияагрегатные функции, 160выражения case, 228описание, 40фильтрация, 86–89Oracle Text, инструмент, 247SQL, описание, 19–24UTC (универсальное глобальное время),141Аавтоприращение, 43агрегатные функции, 154–161count(), 155агрегация, селективная, 222администрирование БД, 298аргументыбольше нуля, 133одноаргументные числовые функции,135функция truncate(), 138арифметические операторы, 135атомные часы, 141Ббазы данныхERдиаграммы, 257MySQL, 25, 27администрирование, 298доступ, 292естественные соединения, 212–214индексы, 240–251многопользовательские, 230настройка, 296нереляционные системы, 14ограничения, 251–256определение, 13программирование, 292проектирование, 294реляционные модели, 16терминология, 18транзакции, 232–239хранение, 14языки программирования, 292банковская схема, 49беззнаковые данные, 33безопасность, инструмент команднойстроки mysql, 28безопасные ошибки, 48битовые индексы, 246блокиfrom, 59–63group by, 65having, 65into outfile, 263limit, 259302order by, 45сочетание с limit, 260select, агрегатные функции, 154where, 63–65условия групповой фильтрации,165условия, оценка, 72–75запросы, 54–59выполнение без блоков, 29блокирование, 231блокировка, 230взаимоблокировки, 235записи и чтения, 231большой символьный объект (clob), 32Ввзаимоблокировки, 235високосные годы, 149внешние ключи, 17, 19ERдиаграммы, 257несуществующие, 47ограничения, 41, 251рекурсивные, 102внешние объединения, 94внешние соединения, 195–205рекурсивные, 203сравнение левостороннихи правосторонних, 199трехсторонние, 201условная логика, 216внутренние объединения, 90внутренние соединения, 93возвращениедаты, 147одного столбца, подзапросы, 171строки, 149числа, 150временные данные, 34–36применение, 140–142работа с, 147–151создание, 142–147времявсемирное, 141конфигурация часовых поясов, 140по Гринвичу (GMT), 140вставкаданных в таблицы, 42индексы, 241интервалы, 147ключевые слова, 58псевдонимы столбцов, 56встроенные функции, 135выражения select, 56строки, 127числовые, 135Алфавитный указательвыбормеханизмы хранения, 237текстовые типы, 32выполнениезапросы, 51–53без блоков, 29транзакции, 232–239условная логика, 216выражение case, 218–229выраженияcase, 218–229create table, 39insert, 43update, сочетание с, 265значения, 44select, 55блоки запроса, 54–59расширения, 259–265update, сочетание с insert, 265агрегатные функции, 159группировка, 163для работы с данными, 9классы, 20обзор, 9область видимости, 168подзапросы, 168как генераторы, 190несвязанные, 170–179применение, 183–193связанные, 179–183типы, 169поиск, 83устранение неполадок и, 46регулярные, применение, 85сортировка, 69схемы, создание, 38условия, создание, 75Ггруппировка, 153–155агрегатные функции, 156–161выражения, 163обобщения, 163по нескольким столбцам, 162по одному столбцу, 161подзапросы, 188сравнение неявных и явных групп,156фильтрация, 165группыформирование, 161–165Дданные с большим и малымкардинальным числом, 246–247303Алфавитный указательданные со знаком, 139дата и время, 34даты, 35возвращение, 147компоненты, 142–143недействительные преобразования, 48преобразования строки в дату, 144создание, 145форматирование, 35декартовы произведения, 92перекрестные соединения, 205–212декретное время, 140десятичные точки (числовые типыданных), 34диаграммы ER (сущностей и связей), 257диапазоныстроки, 80условия, 77доступбазы данных, 292транзакции, 232–239дублирующие значенияоператоры объединения, 113строки, уничтожение, 57Еестественные соединения, 212–214Ззавершение транзакций, 235загрузка данных часового пояса MySQL,142заместители, числовые для сортировки,70запись, 19заполнениестолбцов типа datetime, 144столбцов, создание строк, 123таблиц, 42–45запросы, 51блоки, 54–59from, 59–63group by, 65having, 65limit, 259order by, 66–70where, 63–65выполнение без блоков, 29выполнение, 51–53группировка, 153–155индексы, 240–251контроль версий, 231многопользовательские БД, 230объединениярекурсивные соединения, 102представления, 60ранжирующие, 262соединения, 90–97внешние, 198естественные, 212–214перекрестные, 206трех или более таблиц, 97–102условия, 105экви/неэквисоединения,103–105составные, 112правила применения операцийс множествами, 118–121условная логика, 216выражение case, 218–229запускConfiguration Wizard, 28возможности автоприращения, 43транзакции, 233значенияinsert, выражение, 44nullагрегатные функции, 160выражения case, 228описание, 40фильтрация, 86–89преобразование, 151столбцы, поиск и устранениенеполадок, 47уникальные, подсчет, 158Ииерархии с одним и несколькимиродителями, 15–16иерархические системы БД, 14изменениеданных с помощью условий равенства,77запросы, внутренние соединения, 93индексы, 240–251битовые, 246модификация, 250на основе Bдерева, 245ограничения, 252по всему тексту, 247применение, 247просмотр, команда show, 242создание, 241составные, 244типы, 245удаление, 243узлы, 245уникальные, 243304инструментыOracle Text, 247утилита командной строки mysql, 22create table, выражение, 39применение, 28интервалывставка, 147типы, 147источники, 289базы данныхадминистрирование, 298настройка, 296программирование, 292проектирование, 294формирование отчетов, 299углубленный SQL, 290источники данныхподзапросы, 184Ккавычки, внутри строки, 125каскадныеобновления, 254ограничения, 253клавиатуры, специальные символы, 125классы, выражения, 20ключевые словаdistinct, 58select, 58вставка, 58ключивнешние, 17ERдиаграммы, 257несуществующие, 47ограничения, 41, 251рекурсивные, 102первичные, 16неуникальные, 47ограничения, 39, 251составные, 17Кодд, Е.