
- •Понятие базы данных и системы баз данных
- •Компоненты системы баз данных
- •Языковые средства сбд
- •Программные средства сбд
- •Технические средства сбд
- •Операции с бд
- •Администрация базы данных
- •Взаимодействие компонентов системы баз данных
- •Классификация баз данных
- •Классификация субд
- •Классификация систем баз данных
- •Модели данных
- •Основные понятия реляционной модели данных
- •Целостность реляционных данных
- •Операции над отношениями
- •Нормализация баз данных
- •Первая нормальная форма (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. Объектная ориентация. Объекты. Классы. Методы. Вызов метода. Деструкторы.
80.Язык Perl. Подпрограммы и модули. Пакеты. Таблицы символов. Конструкторы и деструкторы пакетов. Классы.
Подпрограммы и модули
Подпрограммы
Описать и использовать подпрограмму можно несколькими способами:
sub NAME; - подразумевает описание в дальнейшем тела подпрограммы.
sub NAME BLOCK - непосредственное описание.
$subref = sub BLOCK - анонимное описание.
use PACKAGE qw(NAME1, NAME2, NAME3) - включение подпрограмм из модулей.
Вызвать подпрограмму можно тоже несколькими способами:
&NAME(LIST) - скобки обязательны для & формы.
NAME(LIST) - & не обязательно со скобками.
NAME LIST - скобки можно опустить в случае предварительного описания или включения подпрограммы из модуля.
Аргументы передаются подпрограмме в виде локального массива @_, его элементы являются ссылками на реальные скалярные параметры. Подпрограмма возвращает значение, полученное в результате исполнения последнего оператора подпрограммы. Как уже говорилось, подпрограмма вызывается использованием префикса & перед ее именем, в Perl 5 этот префикс не обязателен. Пример:
sub MAX {
my $max = pop(@_);
foreach $foo (@_) {
$max = $foo if $max < $foo;
}
$max;
}
...
$bestmark = &MAX(1,2,3,4,5);
Подпрограмма может вызываться рекурсивно. Если подпрограмма вызывается с использованием & формы, то список аргументов необязателен. Если вы хотите создать внутри модуля его собственную, невидимую снаружи подпрограмму, то описание должно быть анонимным:
my $subref = sub {...}
&$subref(1,2,3);
Пакеты
Perl поддерживает механизм альтернативного именного пространства для каждого отдельного пакета. Обычная программа является пакетом с именем main. Можно ссылаться на переменные или дескрипторы файлов из других пакетов посредством использования префикса перед именем переменной, состоящего из имени пакета и двойного двоеточия: $Package::Variable. Если имя пакета нулевое, то предполагается использование переменной из main пакета. То есть $::sail эквивалентно $main::sail. Пакеты могут включать в себя другие пакеты, в таком случае чтобы обратиться к переменной нужно применить описанное обозначение рекурсивно: $OUTER::INNER::var.
В пакете могут содержаться только переменные, чьи имена начинаются с буквы или подчерка, остальные переменные содержатся в пакете main. Кроме того зарезервированные переменные, как то STDIN, STDOUT, STDERR, ARGV, ARGVOUT, ENV, INC и SIG также содержатся в главном пакете.
package mypack;
sub main::mysub {
...
}
Таблицы символов
Таблицы символов пакета хранятся в ассоциативном массиве с тем же именем и двойным двоеточием в конце. Для пакетов включенных в пакет имя символьной таблицы составляется аналогичным образом: %OUTER::INNER::.
Конструкторы и деструкторы пакетов
Существует две функции специального вида - конструкторы и деструкторы. Это BEGIN и END программы в их описании необязательно использование sub. Подпрограмма BEGIN исполняется сразу, как только это возможно, то есть в момент, когда она полностью определена, даже перед тем как обрабатывается остаток содержащего файла. В файле может быть несколько блоков BEGIN. Они исполняются в порядке определения.
Подпрограмма END исполняется в самом конце. В файле может содержаться несколько END блоков, они исполняются в обратном порядке.
Классы
В Perl 5 нет специального синтаксиса для описания классов, но пакеты могут функционировать как классы, если они содержат подпрограммы функционирующие как методы. Такие пакеты могут также брать некоторые методы из других пакетов-классов. Для этого необходимо перечислить имена других пакетов в массиве @ISA.
Модули
В Perl 5 понятие пакетов расширено в понятие модулей. Модули это пакеты находящиеся в одноименном файле, включенном в библиотеку. Модули подключаются следующим образом:
use Module; или use Module LIST;
Это эквивалентно:
BEGIN { require "Module.pm"; import Module; }
Все модули имеют расширение .pm. Если именное пространство модуля пересекается с именным пространством основной программы то всегда используется use, если не пересекается то можно использовать require.
Стандартные модули Perl описаны в документации.