VBA для тех кто любит думать

       

SQL1

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

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

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

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

Воссоединение SQL в 1995 г. люди, проекты, политика

Весной 1994 г. Майк Блазген (Mike Blasgen) решил, что следует отпраздновать двадцатилетнюю годовщину проекта System R. Осенью 1994 г. Майк привлек Джима Грея (Jim Gray) к локальной подготовке и предложил:
"Пригласить людей, которые работали в IBM над ранними реляционными системами. Это относится к периоду от начала 70-х до начала 80-х: десятилетие прогресса. В число приглашенных следует включить не только исходную группу System R, но и тех, кто работал в IBM над "производными" этой системы - R*, SQL/DS и DB2."
Собрание произошло в Алисомаре, Пасифик Грув (Pacific Grove), Калифорния 28-30 мая 1995 г. вслед за конференцией SIGMOD'95, которая проходила неподалеку в Сан-Хосе. Помимо встреч с давнишними друзьями, прогулок по берегу океана и магической частной вечеринки в аквариуме Монтре понедельник 29-го мая мы провели, вспоминая события двадцатилетней давности.
Я записал и расшифровал разговоры этого дня, попросил выступавших сделать уместные коррективы и выполнил окончательное редактирование. Результатом явился неформальный, но полученный из первых рук устный отчет о рождении SQL, о проекте System R , от которого произошел этот язык, а также о некоторых других реляционных системах баз данных.

Продолжение

SQL - статьи

Оптимизаторы запросов — наиболее хитроумные, наиболее сложные и наиболее интересные компоненты СУБД. Историю этого направления принято отсчитывать с середины 70-х годов, хотя наверняка исследования проводились и раньше. Пионерские работы, в которых были получены фундаментальные результаты, относящиеся к оптимизации запросов, были выполнены в рамках проектов System R корпорации IBM [1, 2] и Ingres университета Беркли [3]. В System R были заложены основы техники оптимизации запросов на основе оценок стоимости плана выполнения запроса [4]. В университетском проекте Ingres, фактически использовались методы, которые позже стали называть семантической оптимизацией запросов.
В маленькой редакторской заметке невозможно привести обзор подходов к оптимизации запросов в SQL-ориентированных СУБД. Могу порекомендовать собственный обзор [5] (достаточно старый, но остающийся актуальным) и существенно более новый обзор Чаудхари [6]. Здесь же мне бы хотелось отметить некоторые вехи в истории развития методов оптимизации, которые имеют непосредственное отношение к статье Маркла, Лохмана и Рамана.


Microsoft SQL Server против MySQL в медицинских информационных системах
Критика уровней изолированности в стандарте ANSI SQL
"Сближение" SQL и ODMG
Методы модификации запросов
SQL и MapReduce: новые возможности или латание старых дыр?
Запросы к данным о посещении Web-сайтов

VBA для тех кто любит думать

Программы на VBA - макросы - можно создавать для любой программы пакета Microsoft Office: для Word, Excel, Access, PowerPoint и даже Outlook. В этой книге будет преимущественно рассмотрен процесс создания макросов для Microsoft Word. Среда Microsoft Word выбрана для начального изучения работы с Редактором VBA и принципов программирования на Visual Basic for Applications из-за того, что, во-первых, именно Word является наиболее популярной программой из всего пакета Microsoft Office (по подсчетам исследователей из Microsoft, из каждой сотни запусков программ из комплекта Microsoft Office в 60% случаев запускаемой программой будет именно Word), а, во-вторых, писать программы, работающие в среде данного текстового редактора, несколько проще, чем дополнения для других компонентов Office. Научившись работать с VBA в Word, вам будет довольно просто перейти к программированию для остальных компонентов Office.
Не обязательно читать все главы книги подряд. После небольшого экскурса в историю программирования второй главы в третьей и четвертой главах будут описаны основные компоненты Microsoft Office, предназначенные для написания программ, рассказано о работе с ними, а также описан сам язык VBA, его синтаксис.

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

Открытый и закрытый коды
Существуют функции Selection.Information(wdActiveEndPageNumber), которая возвращает номер страницы по счету, на которой располагается конец выделения, и функция Selection.Information(wdActiveEndAdjustedPageNumber), которая возвращает присвоенный номер страницы, на которой располагается выделенный фрагмент. Вторую функцию следует использовать тогда, когда необходимо получить тот номер страницы, который указан на ней непосредственно (т.е. с учетом ручных установок нумерации), а первую - если номер необходим абсолютный.