Шрифт:
Наша учебная схема очень проста и состоит всего лишь из четырех таблиц.
Первая таблица MAN содержит сведения о людях, которые приобрели машины.
Колонки таблицы MAN:
• PHONEnum – уникальный телефонный номер человека, первичный ключ для таблицы MAN, содержит текстовые данные;
• CITYCode – код города, вторичный ключ для связи с таблицей CITY;
• FirstName – имя человека (текстовые данные);
• LAStName – фамилия человека (текстовые данные);
• YearOld – возраст человека (числовые данные).
Таблица CITY – справочник городов, состоит из трех колонок:
• CITYCODE – уникальный код города, ключевое поле для таблицы CITY (числовые данные);
• CITYNAME – наименование города (текстовые данные);
• PEOPLES – население города, количество человек, которые проживают в городе (числовые данные).
Таблица AUTO – сведения об автомобилях автосалона.
Колонки таблицы AUTO:
• REGnum – уникальный регистрационный номер автомобиля (содержит текстовые данные);
• PHONEnum – телефонный номер покупателя, вторичный ключ для связи с таблицей MAN;
• MARK – марка авто (текстовые данные);
• COLOR – цвет авто (текстовые данные);
• ReleASeDT – дата создания авто, дата/время (специальный тип данных).
Таблица AUTO1 является копией таблицы AUTO и имеет те же колонки, что и таблица AUTO, и достаточно похожие данные, эта таблица используется в нескольких учебных заданиях (так же, как CITY1, MAN1).
Следующее изображение показывает основные таблицы в учебной базе данных в виде схемы:
Рисунок 6. Учебная схема базы данных
Вопросы учеников
Вы сказали, что наименования таблиц должны быть уникальны в рамках одной схемы. Что такое схема?
В СУБД есть понятие схемы – это особая логическая область, ассоциированная с заданной учетной записью, которая объединяет несколько объектов базы данных.
Почему телефонный номер покупателя PHONEnum – текстовое поле, разве оно не должно быть числовым?
Иногда телефонный номер заполняют со скобками. Чтобы разрешить это противоречие, я использовал текстовый (VARCHAR2) тип данных для этой колонки; кроме того, так сделать правильно, так как это упрощает поиск нужных нам номеров по префиксу.
Какие команды SQL позволяют изменять структуру таблицы, добавлять новые колонки, например?
Это команда ALTER TABLE, с которой мы познакомимся чуть позже.
Контрольные вопросы и задания для самостоятельного выполнения
Шаг 5. Типы данных
Для удобства в SQL все данные разделены на различные типы: например, есть строковый тип, к которому относятся только строки и текст; есть целочисленный тип, к нему можно отнести только целые числа; определен специальный тип данных для чисел с плавающей точкой.
Каждой колонке в таблице назначается свой определенный тип данных, то есть каждая колонка таблицы может сохранять данные строго заданного типа и никаких данных другого типа, отличного от этого. Например, в одной из колонок могут находиться только строки и текст, а в другой – только числа.
Типов данных в SQL ORACLE-диалекте множество, мы же рассмотрим самые основные из них.
Теория и практика
Ниже приведена таблица основных типов данных, используемая в SQL ORACLE. В таблице колонка-размер означает, какой максимальный объем информации сможет вместить этот тип данных. Например, тип данных VARCHAR2 может вместить в строку длиной не более 4000 символов.
таблица. Типы данных
Таблица. Типы данных
Важные замечания
Для удобства (во избежание излишней путаницы) в учебных примерах для этой книги рассматриваются в основном только три типа данных, однако нам достаточно этих типов для решения большинства учебных задач и понимания учебного материала.
Основные типы данных, используемые в книге в практических задачах:
• VARCHAR2 (n) – тип для хранения текстовой информации, в скобках указывается максимальное количество символов в строке. Данный тип используется при работе со строковыми данными разной длины, память под такие данные выделяется динамически;