
- •Понятие базы данных и системы баз данных
- •Компоненты системы баз данных
- •Языковые средства сбд
- •Программные средства сбд
- •Технические средства сбд
- •Операции с бд
- •Администрация базы данных
- •Взаимодействие компонентов системы баз данных
- •Классификация баз данных
- •Классификация субд
- •Классификация систем баз данных
- •Модели данных
- •Основные понятия реляционной модели данных
- •Целостность реляционных данных
- •Операции над отношениями
- •Нормализация баз данных
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (бкнф)
- •Нормальные формы высших порядков (4нф и 5нф)
- •Уровни моделирования предметной области
- •Концептуальное проектирование баз данных
- •Даталогическое проектирование
- •Физические модели
- •Case-средства разработки баз данных
- •Пример нотации er-модели – метод idef1x
- •Автоматическая генерация базы данных
- •Требования к распределенным базам данных
- •Базовые архитектуры распределенной обработки
- •Транзакции
- •Сериализация транзакций
- •Представления, хранимые процедуры, триггеры
- •Тиражирование данных
- •Резервное копирование и восстановление
- •Средства защиты данных
- •Sql. Что можно делать с помощью sql. Группы команд sql.
- •Типы данных sql.
- •Типы привилегий. Объектная и системная привилегии.
- •Команды языка определения данных. Команды языка управления данными. Команды языка управления транзакциями. Команды языка манипулирования данными.
- •Sql. Команда Create Table. Команда create user. Команда create view.
- •Sql. Команда create index.Команда create sequence. Команда create synonym.
- •Sql. Команда alter table.
- •Sql. Команда insert.
- •Sql. Команда delete.
- •Sql. Команда update.
- •Sql. Команда select.
- •Sql. Команда grant.
- •Sql. Команда revoke.
- •Sql. Команда drop.
- •Sql. Команды show , describe.
- •Sql. Строки и выражения.
- •Sql. Соединение таблиц.
- •Sql. Подзапросы.
- •Sql.Работа с null-значениями. Условие check. Ограничение unique.
- •Sql.Первичный ключ primary key.
- •Sql.Ограничения foreign key.
- •Возможности php. Преимущества php.
- •Преимущества php
- •Что нового в php5 ? Новая объектная модель Zend 2.0.Улучшенная производительность. Новые директивы. Новые механизмы работы с потоками. Новы функции php5. Новые расширения.
- •Движок» php. Программа на php . Php в html-документах. Комментарии в php-скриптах.
- •Переменные в php. Типы данных в php.
- •Константы в php. Выражения в php.
- •Конструкции языка php. Условные операторы. Циклы в php.
- •Конструкции языка php. Конструкции выбора. Конструкции возврата значений. Конструкции включений в php.
- •Пользовательские функции в php. Особенности пользовательских функций php. Создание пользовательских функций. Передача аргументов пользовательским функциям.
- •Функции и порядок работы с субд в php.
- •Основы ооп. Инкапсуляция. Полиморфизм. Наследование. Классы и объекты в php. Доступ к классам и объектам в php. Инициализация объектов. Наследование и полиморфизм классов в php.
- •70.Система xampp-1.8.1.Порядок установки в среде операционных систем Windows и Linux . Веб-сервер Apache.
- •71.Хостинг. Домен. Доменные зоны. Порядок проведения процесса размещения сайта. Перенос или трансфер доменов. Jabber. Сервис Whois. Обеспечение взаимодействия с субд.
- •Доменные зоны
- •72.Работа с формами. Обработка ввода пользователя. Передача файла на сервер. Отправка почты с вложением из php.
- •73.Язык Perl.Основные понятия. Cтруктуры данных. Скалярные величины. Простые массивы. Ассоциативные массивы. Простые операторы. Составные операторы.
- •75.Язык Perl. Операторы сравнения. Операторы эквивалентности. Побитовое и, побитовое или и Исключающее или. Логическое и и логическое или. Оператор диапазона. Условный оператор.
- •76.Язык Perl. Операторы присваивания. Оператор ``запятая''. Логическое не. Логическое и, или и Исключающее или. Оператор чтения из файла. Оператор замены строки. Оператор замены множества символов.
- •77.Язык Perl. Ссылки. Символьные ссылки.
- •78.Язык Perl. Регулярные выражения. Зарезервированные переменные.
- •79.Язык Perl. Встроенные функции.
- •80.Язык Perl. Подпрограммы и модули. Пакеты. Таблицы символов. Конструкторы и деструкторы пакетов. Классы.
- •81.Язык Perl. Объектная ориентация. Объекты. Классы. Методы. Вызов метода. Деструкторы.
78.Язык Perl. Регулярные выражения. Зарезервированные переменные.
Регулярные выражения
Perl позволяет использовать регулярные выражения. Для того чтобы пояснить, что же представляет из себя регулярное выражение приведем несколько примеров:
/SWAP.*/ - соответствуют все слова начинающиеся со SWAP и заканчивающихся произвольным набором символов. Точка обозначает произвольный символ, звездочка - то, что символ, стоящий перед ней, входит в слово 0 и более раз. Все метасимволы, которые будут описаны ниже, означают вхождение того, что стоит перед ними.
/\w*/ - соответствуют слова состоящие только из алфавитных, цифровых символов и символа подчерк. \w - соответствует алфавитным, цифровым символам и символу подчерк, звездочка - тому, что эти символы могут входить произволное количество раз. Здесь мы приведем только основные метасимволы. Для более подробной информации смотрите соответствующие страницы man по Perl.
* соответствует 0 или более вхождений
+ соответствует 1 или более вхождений
? соответствует 1 или 0 вхождений
{n} соответствует ровно n вхождений
{n,} соответствует по крайней мере n вхождений
{n,m} соответствует по крайней мере n,
но не более m вхождений
Метасимвол * эквивалентен {0,}, + эквивалентен {1,} и ? эквивалентен {0,1}. Ограничений на величину m и n нет. Эта стандартная конструкция работает в ``жадном'' режиме, то есть: регулярному выражению a.*b будет соответствовать всевозможный набор слов начинающихся с символа a и кончающихся символом b, в том числе слова типа abcab. В таких словах есть подпоследовательности символов, которые также удовлетворяют условиям регулярного выражения. Если после каждого из описанных метасимволов поставить знак ?, то подобные последовательности будут опускаться. Шаблоны обрабатываются как строка в двойных кавычках, поэтому приведенные ниже последовательности также будут обрабатываться:
\l - передвижение на символ вниз
\u - передвижение на символ вверх
А также все перечисленные ранее бакслэш-последовательности. В Perl-е определены также:
\w - соответствуют алфавитные и цифровые
символы а также символ подчерк
\$W - соответствуют все символы не входящие
во множество символов w
\s - символы пробела, табуляции, возврата каретки
\S - все символы не входящие во множество символов
s
\d - цифровые символы
\D - нецифровые символы
Обратите внимание, что \w отмечает только отдельные символы, а не все слово. Чтобы отметить все слово нужно использовать \w+. Также определены следующие команды:
\b - соответствуют границы слова
\B - соответствуют не-границы слова
\A - соответствуют только начало строки
\Z - соответствуют только конец строки
При использовании конструкции типа ( ... ), \<digit> подставляет подстроку из скобок с номером digit. Можно использовать скобки для отделения подшаблона. Если в скобках имеется более, чем 9 подстрок, то переменные $10, $11, ... содержат соответствующие подстроки. $+ возвращает то, чему соответствует последняя конструкция в скобках. $& возвращает подставленную строку. $` возвращает все перед подставленной строкой, $' возвращает все после подставленной строки.
$_ = 'abcdefghi';
/def/;
print "$`:$&:$'\n"; - напечатает abc:def:ghi
На этом мы закончим описание регулярных выражений, для более подробной информации читайте manual page.
Зарезервированные переменные
В Perl есть имена имеющие специальное значение. Многие из них аналогичны зарезервированным именам в shell.
Если вы хотите использовать длинные имена переменных, в заголовке программы требуется сказать:
use English;
Многие переменные доступны только для чтения, то есть при попытке присвоения такой переменной какого-либо значения напрямую или по ссылке происходит ошибка.
$_ В эту переменную по умолчанию происходит ввод, присваивание, в нее складываются результаты поиска по заданному образцу.
while(<>){...}
или, что то же самое:
while($_= <>) {...}
$<digit> Эта переменная была описана в предыдущем параграфе. Она доступна только для чтения, так же как и переменные $&, $`, $' и $+.
$. Эта переменная содержит номер строки, которая была почитана последней из файла, который был прочитан последним. Она также доступна только для чтения.
$/ Содержит символ по которому разделяются вводимые записи. По умолчанию содержит символ перевода строки. Она похожа на переменную RS из awk.
$| По умолчанию имеет значение 0. Если содержит ненулевое значение, то происходит сброс буферов каждый раз после осуществления вывода (на печать, на экран и т.д.).
$, Содержит символ-разделитель полей для оператора печати. Подобна переменной OFS в awk.
$ Содержит символ-разделитель записей для оператора печати. Подобна переменной ORS в awk. (Вы можете определить $ вместо того, чтобы печатать n в конце печати.)
$" Подобна переменной $,. Но используется при обращении к списку величин в двойных кавычках (или другой строке, которая требует интерпретации). По умолчанию содержит символ пробел.
$; Содержит символ-разделитель для эмуляции многомерных хэшей. Если ссылаться на такой элемент хэша как $foo{$a,$b,$c} то реально это будет происходить так: $foo{join($;,$a,$b,$c)}. Не путайте с @foo{$a,$b,$c}, так как это тоже самое, что($foo{$a},$foo{$b},$foo{$c}). По умолчанию содержит значение \034 такое же как переменная SUBSEP в awk.
$# Формат для печати чисел. Подобна переменной OFMT в awk. Первоначально содержит значение %.20g.
$% Содержит номер текущей выводимой страницы.
$= Содержит длину текущей страницы (количество печатных срок), обычно содержит значение 60.
$- Содержит значение, определяющее количество оставшихся на странице строк, например количество еще не напечатанных строк для печатного канала вывода.
$~ Содержит имя текущего формата сообщений. Обычно имя дескриптора файла.
$^ Содержит имя текущего формата заголовка страницы. Обычно содержит имя дескриптора файла с добавлением в конце _TOP
$: Содержит множество символов после которых вывод сроки может быть прерван и начат снова после перевода строки.
$! Если эта переменная используется в числовом контексте, то содержит текущее значение errno (номер ошибки) со всеми обычными сообщениями. В строковом контексте содержит соответствующее системное сообщение об ошибке.
$@ Содержит сообщение о синтаксической ошибке, допущенной во время исполнения последней команды eval(). Если содержит значение 0, то команда была исполнена корректно. Но заметьте, что сообщения не накапливаются в этой переменной.
$$ Содержит идентификатор текущего процесса.
$< Содержит идентификатор пользователя (UID), которому принадлежит текущий процесс.
$> Содержит эффективный UID текущего процесса.
$( Содержит идентификатор группы (GID) пользователя, которому принадлежит текущий процесс.
$) Содержит эффективный GID текущего процесса.
$0 Содержит имя файла, в котором находится исполняемая программа.
$ARGV Содержит имя текущего файла, из которого происходит чтение.
@ARGV Содержит массив аргументов командной строки, которые были переданы программе.
@INC Содержит список точек входа в программу, в которых используются конструкции do EXPR, require и use.
%INC Содержит входы для каждого файла, который включается посредством использования операторов do или require. Ключами являются имена файлов, а значениями места их расположения.
%ENV Содержит текущее окружение процесса. Изменением содержимого хэша можно изменить окружение порожденного (дочернего) процесса.
%SIG Этот хэш используется для установки обработчиков различных сигналов. Например:
sub handler {
local($sig) = @_;
print "Caught a SIG$sig - shutting down\n";
close(LOG);
exit(0);
}
$SIG{'INT'} = 'handler';
$SIG{'QUIT'} = 'handler';
...
$SIG{'INT'} = 'DEFAULT';
$SIG{'QUIT'} = 'IGNORE';