2.2.2 Используемые типы данных
Все типы данных, перечисленные в стандарте ANSI SQL92, полностью поддерживаются в Oracle. Но так же и имеются типы, которые характерны только для СУБД Oracle.
На данной стадии реализации приложения необходимо использовать три типа данных: строка, целое число и дата.
Для хранения строк переменной длины используется тип VARCHAR. При использовании данного типа резервируется реально необходимое пространство. Длина строки указывается в скобочках, за названием типа. Если длина строки не указана явно, то она полагается равной 1. Максимальное значение – 4000 символов.
Существует тип VARCHAR2, который используется только для Oracle. Основная причина введения этого типа состоит в том, что фирма-производитель декларирует неизменность этого типа в более поздних реализациях Oracle, в то время как тип VARCHAR будет соответствовать требованиям стандарта SQL.
Пример, описания строкового поля переменной длины, ограниченной 1000 символами:
varstr1 VARCHAR2(1000)
Типом VARCHAR2 будут описываться логин, ФИО, пароль, названия факультетов, специальностей, кафедр и т.п.
Тип INTEGER используется для представления целых чисел в диапазоне от -231 до 231.
Пример, описания целочисленного поля:
varint1 INTEGER
Данный тип будет использоваться для описания номера зачетной книжки, табельного номера, кода специальности, уникального кода кафедры, факультета, ученой степени, должности и роли.
Тип DATE используется для хранения даты и времени. Допускаются даты с 1 января 4712 г. до н.э. до 31 декабря 4712 г. н.э. Для формирования значения типа DATE в SQL и PL/SQL обычно используется встроенная функция ТО_DАТЕ('символьная строка даты', 'формат даты'). При определении даты без уточнения времени по умолчанию принимается время полуночи. Функция SYSDATE возвращает текущее значение даты и времени. Значение функции определяется средствами операционной системы компьютера, на котором работает сервер Oracle.
Пример, описания поля с типом дата:
birthday DATE
Наличие специального типа для хранения даты и времени позволяет поддерживать специальную арифметику дат и времен. Добавление к переменной типа DATE целого числа интерпретируется Oracle как определение более поздней даты, а вычитание выполняется как определение более ранней [6].
Типом DATE будет описываться поле «дата рождения».
2.2.3 Создание таблиц и связей между ними
Для создания таблиц существует оператор CREATE TABLE. Рассмотрим создание таблицы на примере:
CREATE TABLE Faculty (
facultyID INTEGER NOT NULL,
facultyName VARCHAR2(200) NOT NULL,
facultyShortName VARCHAR2(20) NULL
);
После ключевых слов CREATE TABLE указывается название создаваемой таблицы, а затем в скобочках перечисляются через запятую поля таблицы. Для каждого поля указывается тип данных и показывается возможность поля быть пустым или нет.
Для задания первичного ключа таблицы необходимо внести в нее изменения:
ALTER TABLE Faculty ADD ( PRIMARY KEY (facultyID));
Выше представленная команда говорит о том, что необходимо изменить таблицу Faculty, добавив в нее первичный ключ, в качестве которого выступает поле facultyID.
Для создания связей между таблицами используются внешние ключи. Рассмотрим пример задания внешнего ключа для таблицы «Кафедры»:
ALTER TABLE Chair ADD (FOREIGN KEY (facultyID)
REFERENCES Faculty ON DELETE SET NULL);
Приведенная команда указывает, что необходимо изменить таблицу Chair, установив в качестве первичного ключа поле facultyID, которое связано с таблицей Faculty. В случае удаления факультета полю facultyID установить значение NULL.
Исходный код генерации таблиц, первичных ключей и внешних ключей приведен в Приложении Г.
2.2.4 Создание последовательностей
В Oracle отсутствует поддержка автоинкрементных полей. Но существует возможность создания последовательностей, значения которых будут уникальны. Для каждой таблицы, нуждающейся в получении уникального кода, где его не требуется указать явно (например, номер зачетной книжки или код специальности указывается явно при заполнении) создаются такие последовательности.
Пример создания последовательности:
CREATE SEQUENCE faculty_seq | - создать последовательность faculty_seq |
INCREMENT BY 1 | - значения увеличивать на 1 |
START WITH 1 | - начальное значение 1 |
NOMAXVALUE | - отсутствует максимальное значение |
MINVALUE 1 | - минимальное значение равно 1 |
ORDER | - упорядочивать значения |
; |
Код генерации всех последовательностей приведен в Приложении Г.
... , что абсолютное большинство людей способны эффективно обучаться электронным способом, естественно при условии наличия адекватного учебного контента (содержания курсов). Разработка системы дистанционного обучения для НИПК даст ощутимый экономический и социальный эффект в деятельности организации. Эффективность в общем виде рассматривается как основная характеристика функционирования системы ...
... (текстовый или HTML). Этот параметр позволит продублировать ваши входящие сообщения на ваш электронный почтовый ящик, если вы не подключены к системе дистанционного обучения. 2.3.3.2 Форумы Форумы в системе дистанционного обучения MOODLE предоставляют возможность преподавателям задавать темы для обсуждения или участники самостоятельно создают темы, и каждый участник курса может участвовать в ...
... в помещении представлена на рисунке 4.1 Рисунок 4.1 - Схема размещения светильников в аудитории № 209. Заключение В работе проведено исследование использования программ дистанционного обучения для подготовки учебно-методической документации, описаны их положительные стороны и выявлены основные проблемы. В результате проведенного исследования разработано web-приложение "R@Learning ...
... их вопросы в форуме. При размещении его в глобальной сети география распространения возрастает до масштабов всего мира. При разработке web-сайта были проанализированы современные web-технологии, позволяющие создавать интерактивные web-страницы. Наиболее подходящими для выполнения поставленной задачи оказались Macromedia Dreamweaver MX 2004 и Joomla 1.0.12. Разработанный сайт удовлетворяет всем ...
0 комментариев