Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в




НазваниеКен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в
страница1/61
Дата18.03.2013
Размер6.5 Mb.
ТипДокументы
  1   2   3   4   5   6   7   8   9   ...   61

Предисловие


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

Вам когда-нибудь приходилось бывать в чужой стране, имея только словарь или карманную книжку по грамматике? Если да, то пусть эта книга будет чем-то вроде путеводителя. Следующий шаг — как сделать так, чтобы кто угодно мог воспользоваться ею. Творчество в эпоху Интернета значительно отличается от той эпохи, когда Виктор Гюго писал пером длинные романы. Сейчас, когда книга популярна, автору следует ожидать письмо от какого-нибудь навязчивого чудака, который обязательно к чему-нибудь придерется — будь то знак препинания или опечатка. Короче говоря, оскорбления могут посыпаться со скоростью света.

Но когда вы сами пишете книгу, у творчества может быть и другая сторона — вы можете эксплуатировать массу людей, которые вместо того, что бы заниматься делом, просто стала вашим неоплачиваемым штатом сотрудников!

С тех пор как я стал экспертом в стандартах SQL и программировании, я оказался одним из тех, кого автор данной книги попросил по электронной почте просмотреть рукопись. Я раньше не сталкивался со столь тщательно подобранным материалом и довольно интересными идеями! Но вот, мы уже обмениваемся опытом, и, так получилось, что я похитил некоторые идеи, чтобы внести их в свою новую книгу. М..да-а, общение можно сравнить с улицей с двусторонним движением. Я думаю, что эту книга будет легко читать, в ней много новых интересных идей и образцов кода. Хотя это книга чисто по Transact- SQL, вы увидите, что многие из подходов и методов будут работать с любым SQL-продуктом. Наслаждайтесь!

Джо Силко

Введение


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

  • Быть очень изобретательным с моделями кода — не просто рассказывать читателю, как что-либо делать, а показать это.

  • Включить полные примеры кода внутри текста глав, чтобы книгу можно было читать без компьютера или компакт-диска.

  • Использовать современные методы кодирования, с особым акцентом на ANSI-совместимость, а также на современные возможности и расширения.

  • Так выстроить главы, чтобы они былисамодостаточными— как можно меньше зависели от объектов, созданных в других главах.

  • Показать примеры реального кода, что имеет существенную ценность независимо от книги.

  • Избежать перефразирования того, что уже широко отражено в SQL Server Books Online.

  • Отметить аспекты Transact-SQL, отличающие его от других диалектов SQL, а не просто написать другую книгу по ANSI SQL.

  • Отказаться от лишних скриншотов и других типов заполнителей, часто используемых в компьютерной литературе.

  • Следовать от простого к сложному в пределах каждой главы и книги в целом.

  • Обеспечить доступные, простые комментарии без значительного акцента на формальности. Быть любезным и снисходительным наставником для читателя.

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

О примерах баз данных


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

Обычно модификации этих баз данных делаются внутри транзакций, так чтобы их можно было вернуть в первоначальное состояние, хотя, из соображений безопасности, стоит заново создавать их после каждой главы, где они изменялись. Сценарии для их создания (instnwnd.sql и instpubs.sql) находятся в поддиректории \Install в корневом каталоге SQL Server.

Сокращенные результаты


Я недолюбливаю компьютерную литературу за использование разных заполнителей для увеличения объема книги. Множество технических книг в наши дни переполнены бесплатной помощью в виде скриншотов, диаграмм, выносок, значков, графики и так далее. Есть люди, которые оценивают значимость книг по их весу, и множество авторов и издателей рады оказать им такую услугу. Они, кажется, буквально понимают высказывание «картина стоит тысячи слов» — в результате иногда получаются книги, которые не намного превосходят книжки с картинками.

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

Это все отвечает моей цели — сохранить полноту изложения, не утомляя читателя. В этой книге — около 600 SQL сценариев, все они приведены в главах, использующих их. Надеюсь, что ни одно из сокращений не уменьшит ценность и полезность книги.

О формальностях


Другая моя претензия к компьютерной литературе — формальность ради формальности. Один художник заметил, что «сложнее нарисовать хорошую изогнутую линию, чем прямую». Он имел ввиду, что иногда труднее сделать хорошо то, для чего нет точных и прямых стандартов, чем то, для чего существуют точные правила, и что уже не раз делалось. Чтобы нарисовать прямую линию, достаточно взять линейку. Формальные правила, особенно их академическая разновидность, делают написание некоторых типов книг проще, поскольку они в значительной степени преобразуют субъективную природу творчества в нечто более объективное. Они похожи на дополнительные колеса на велосипеде потенциального автора. Написание из творческого процесса превращается в механический. Расставьте все палочки над T, все точки над I, и полдела сделано. Очевидно, это освобождает автора от многих решений, которые формируют творческое письмо. Это также превращает хорошие работы в тоскливые, похожие на учебники, диссертации, которые увлекательны как телефонный справочник.

Поэтому я не согласен с тем, что формальное написание — лучший способ написания, что это более высокий стандарт и идеал, к которому должны стремиться все технические писатели. Вместо этого, я исхожу из школы Марка Твена — «сторонюсь излишеств» — и верю, что пока обычная речь не становится чрезмерно банальной (признаю, что это субъективное различие), конечной целью технического писателя должно быть писать так, как говорят читатели. Это тот способ общения, к которому люди более приспособлены — даже техническая интеллигенция, и это тот способ, с помощью которого они лучше всего обучаются и обмениваются идеями. Я не изобретал такой способ мышления; это просто способ большинства моих любимых авторов — Марка Твена, Джо Силко, Эрнеста Хемингуэя, Роберта Хайнлайна, Эндрю Миллера, Оскара Увальда, П. Дж. О’Рурка, Патрисии О’Коннор. Хотя намного труднее структурировать и писать текст, который естественен и легко читается, это стоит усилий, если идеи, которые писатель пытается передать, будут поняты.

Поэтому везде в этой книге вы увидите, что множество правил и псевдоправил формального написания были расширены, укорочены, перевернуты и, иногда, вообще нарушены. Это сделано намеренно. Иногда я разбивал инфинитивы, начинал предложения с союзов, и заканчивал их предлогами1. Иногда я использовал record вместо row; иногда — field вместо column; и я никогда не использовал данные (data) во множественном числе. Недавно я увидел одну программу, которая отображала на экране сообщение «the data are being loaded», и я буквально рассмеялся вслух. Разница между множественными данными (data) и странной единственной формой этого слова datum не поддерживается в разговорном языке, и на самом деле никогда не поддерживалась (за исключением, вероятно, времен древнего Рима). Ее использование также резко осуждается многими руководствами по написанию2 и многими авторами3. Вам придется постараться, чтобы найти автора, который использует data во множественном числе (я могу вспомнить только одного, это вспыльчивый Тед Кодд). Тенденция технических коммуникаций становиться важничающими или показными, всегда расстраивала меня: зачем надо опускаться до претенциозности? Зачем превращать в ерунду обмен идеями между людьми, так что одних это запутывает, а другие за счет этого становятся превосходящими?

Благодарности


Я хочу поблагодарить жену, которая не только способствовала написанию моих книг, но и сделала их заслуживающими внимания. Эта книга больше ее заслуга, чем моя. Я хотел бы поблагодарить Нейла Префаса Койя, который много лет назад сделал из меня настоящего программиста. Под опекой Нейла я познал мастерство создания программного обеспечения. Также Джо Силко, декана факультета языка SQL, который был для меня хорошим другом и ценным источником информации в этом проекте. Я хочу выразить благодарность и уважение Джону Сарапата и Томасу Холэдей, которые помогали мне придумывать название для книги (я приберегу название Sybase for Dummies4 для будущих книг, Джон). Благодарю технических рецензентов книги, особенно Вайну Снидер, Джанлукае Оц, Пауля Оливири, и Рона Талмаджа. Сердечно благодарю Джона Гмуендера, Джо Голлагэра, Майка Массинга, и Дэнни Торпа за их хладнокровие и за то, что они помогли мне оставаться в здравом уме. Приношу свои поздравления и благодарность превосходной команде издательства Addison-Wesley — Майклу Слаутеру, Марисе Мельтсер, Дж. Картеру Шанклин, и другим — их слишком много, чтобы всех перечислить. Особая благодарность Нэнси Кара-Саджер, другу, техническому рецензенту и издателю, которая остается со мной столько времени. Ее неустанное внимание к деталям не раз спасало меня.

Об авторе


Виртуоз в области баз данных, Кен Хендерсон, живет в Далласе со своей женой, четырьмя детьми и собакой. Когда он не пишет программное обеспечение или книги, он любит наблюдать за тем, как растут его дети. Вы можете связаться с Кеном Хендерсоном по электронной почте — khen@khen.com.

От издательства


Ваши замечания, предложения, вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства http://www.piter.com вы найдете подробную информацию о наших книгах.
  1   2   3   4   5   6   7   8   9   ...   61

Похожие:

Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в icon-
«Вот уж не везет, так не везет: я хотел написать самую подрывную книгу в истории, а она стала коммерчески успешным бестселлером»
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconМежкультурная коммуникация как «среда обитания» современного Homo Loquens
Неспроста это всё! Когда ей наконец удалось выяснить, кем же является тот датчанин, оказалось, что он действительно специализируется...
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconДейт К. Дж. Руководство по реляционной субд db2
Кен Хендерсон, Профессиональное руководство по Microsoft sql server: структура и реализация
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconКонкурс «Недаром помнит вся Россия про день Бородина!»
Когда я готовилась писать это сочинение и выбирала, кого я буду рисовать, меня заинтересовал портрет адъютанта верхом на коне. «Кто...
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconНиколай Басов Творческое саморазвитие, или Как написать роман
Насколько это удалось, конечно, судить не мне, но я старался. По крайней мере, не хватал первые попавшиеся под руку варианты, не...
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconАх, оставьте вашу скуку!
М. Щербакова. Что это за песни, почему их поют, кто такой их автор и как он их пишет все это не тема моего небольшого вступления....
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconПока у юного химика Пети в домашней лаборатории имеются только известняк и соляная кислота. Несмотря на скудное наличие веществ в лаборатории, ему удалось
Напишите не меньше 7 уравнений химических реакций, которые удалось провести Пете. Напишите условия, в которых будут протекать эти...
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconЛабораторная работа Использование редактора запросов sql borland sql explorer(TM) для создания запросов к данным с использованием языка sql

Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в iconКак правильно написать реферат?
Реферат – это не простой конспект нескольких книг! Он предполагает самостоятельное изложение проблемы, собственное рассуждение автора...
Кен Хендедерсон хотел написать самую лучшую из возможных книг практическое программирование на Transact-sql. Ему это удалось. Когда он начинал ее писать, в icon1 Чтобы писать хорошие стихи, нужно очень много читать хороших стихов! Это самое главное правило
Однажды у меня появилось желание написать нечто вроде небольшого учебника, который может дать что-то новое как начинающим поэтам,...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница