Чтение онлайн

на главную - закладки

Жанры

Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики
Шрифт:

• PHONEnum – телефонный номер покупателя, вторичный ключ для связи с таблицей MAN;

• MARK – марка авто (текстовые данные);

• COLOR – цвет авто (текстовые данные);

• ReleASeDT – дата создания авто, дата/время (специальный тип данных).

Таблица AUTO1 является копией таблицы AUTO и имеет те же колонки, что и таблица AUTO, и достаточно похожие данные, эта таблица используется в нескольких учебных заданиях (так же, как CITY1, MAN1).

Следующее изображение показывает основные таблицы в учебной базе данных в виде схемы:

Рисунок 6.

Учебная схема базы данных

Вопросы учеников

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

В СУБД есть понятие схемы – это особая логическая область, ассоциированная с заданной учетной записью, которая объединяет несколько объектов базы данных.

Почему телефонный номер покупателя PHONEnum – текстовое поле, разве оно не должно быть числовым?

Иногда телефонный номер заполняют со скобками. Чтобы разрешить это противоречие, я использовал текстовый (VARCHAR2) тип данных для этой колонки; кроме того, так сделать правильно, так как это упрощает поиск нужных нам номеров по префиксу.

Какие команды SQL позволяют изменять структуру таблицы, добавлять новые колонки, например?

Это команда ALTER TABLE, с которой мы познакомимся чуть позже.

Контрольные вопросы и задания для самостоятельного выполнения

1. Могут ли колонки разных таблиц называться одинаково?2. Что такое первичный ключ, какие колонки (первичные ключи) есть в нашей учебной схеме?3. Какие данные находятся в учебной таблице CITY?4. Какая колонка в таблице MAN нашей учебной схемы содержит данные о возрасте человека?

Шаг 5. Типы данных

Для удобства в SQL все данные разделены на различные типы: например, есть строковый тип, к которому относятся только строки и текст; есть целочисленный тип, к нему можно отнести только целые числа; определен специальный тип данных для чисел с плавающей точкой.

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

Типов данных в SQL ORACLE-диалекте множество, мы же рассмотрим самые основные из них.

Теория и практика

Ниже приведена таблица основных типов данных, используемая в SQL ORACLE. В таблице колонка-размер означает, какой максимальный объем информации сможет вместить этот тип данных. Например, тип данных VARCHAR2 может вместить в строку длиной не более 4000 символов.

таблица. Типы данных

Таблица.

Типы данных

Важные замечания

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

Основные типы данных, используемые в книге в практических задачах:

• VARCHAR2 (n) – тип для хранения текстовой информации, в скобках указывается максимальное количество символов в строке. Данный тип используется при работе со строковыми данными разной длины, память под такие данные выделяется динамически;

• NUMBER – тип данных для хранения числовой информации, причем можно использовать как для целых чисел, так и для чисел с плавающей точкой;

• DATE – специальный тип данных для сохранения специальной информации – дата-время, например дата и время создания записи, дата и время электронной подписи документа, дата и время заключения сделки.

Эти типы данных достаточно часто используются на практике и применяются в работе.

Вопросы учеников

Вы рассказали про тип данных VARCHAR2 для хранения строк, но в виде строки можно записать и числа, и даты тоже. Зачем так много разных типов, может, они не нужны?

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

Типы данных в других SQL СУБД, отличных от ORACLE, также различаются?

Есть незначительные различия, например в MS SQL используется VARCHAR, а не VARCHAR2, или вместо CLOB используется тип TEXT. Необходимо обратиться к соответствующему разделу документации выбранной СУБД, чтобы понять, какие именно типы данных различаются.

Почему в ORACLE SQL используется именно VARCHAR2, а не просто VARCHAR, как в MS SQL-сервер?

В ORACLE SQL тоже существует тип VARCHAR, но исторически сложилось так, что в ORACLE SQL между этими двумя типами существует разница:

• VARCHAR может хранить до 2000 символов, а VARCHAR2 может хранить до 4000 символов;

• если мы объявим тип данных как VARCHAR, то будет зарезервировано место для пустых NULL VALUES.

Поэтому чаще всего на практике в ORACLE используется VARCHAR2.

Контрольные вопросы и задания для самостоятельного выполнения

1. Для чего используется тип DATE?2. Нам необходимо в одной из колонок таблиц сохранять целые числа, какой тип следует использовать?3. Какой тип правильно использовать для хранения данных о цвете автомобиля?4. Какой тип данных необходимо использовать для хранения сведений о росте человека?
Поделиться:
Популярные книги

Бывшие. Война в академии магии

Берг Александра
2. Измены
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Бывшие. Война в академии магии

Личный маг для Наследника. Эхо погибшей цивилизации

Верескова Дарья
2. Проект «Фронтир Вита»
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Личный маг для Наследника. Эхо погибшей цивилизации

Сумеречный Стрелок 2

Карелин Сергей Витальевич
2. Сумеречный стрелок
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный Стрелок 2

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Разведчик. Медаль для разведчика. «За отвагу»

Корчевский Юрий Григорьевич
2. Разведчик
Фантастика:
боевая фантастика
попаданцы
5.20
рейтинг книги
Разведчик. Медаль для разведчика. «За отвагу»

На границе империй. Том 7. Часть 5

INDIGO
11. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 7. Часть 5

Черный Маг Императора 5

Герда Александр
5. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 5

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Вечный. Книга III

Рокотов Алексей
3. Вечный
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга III

Real-Rpg. Еретик

Жгулёв Пётр Николаевич
2. Real-Rpg
Фантастика:
фэнтези
8.19
рейтинг книги
Real-Rpg. Еретик

Поцелуй на снегу

Кистяева Марина
1. Время любви
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Поцелуй на снегу

Лолита

Набоков Владимир Владимирович
Проза:
классическая проза
современная проза
8.05
рейтинг книги
Лолита

Хозяйка дома в «Гиблых Пределах»

Нова Юлия
Любовные романы:
любовно-фантастические романы
5.75
рейтинг книги
Хозяйка дома в «Гиблых Пределах»

Санек 2

Седой Василий
2. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 2