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

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

Жанры

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

День второй

Шаг 6. Создание таблиц

Как мы уже поняли, основная информация, с которой нам предстоит работать в базе данных, находится в таблицах. Из шага 4 (таблицы в базе данных) про таблицы мы узнали следующие важные сведения:

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

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

1. Имена таблиц, имена колонок в SQL имеют ограничение по количеству символов и не могут называться зарезервированным словом, таким как команда из языка SQL.

Например, нельзя назвать таблицу или колонку GROUP, это зарезервированное слово, часть команды GROUP BY, или же недопустимо называть таблицу или колонку таблицы FROM, SELECT, INSERT, KEY.

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

3. Очень желательно, чтобы наименования таблиц, а также наименования колонок таблиц отражали смыл относительно данных, которые содержатся в этих таблицах, например: MANS, CARS, STAFF – люди, машины, персонал, GOODS – товары, ITEMS – элементы.

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

Теперь, когда мы разобрались с теоретической частью, самое время заняться практическими упражнениями.

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

Для создания таблиц используется специальная команда SQL CREATE TABLE.

Синтаксис упрощенный.

CREATE TABLE имя таблицы (

Column_NAME1 column_type (NUMBER, или VARCHAR2 (n) или DATE) primary KEY,

Column_NAME 2 column_type (NUMBER, или VARCHAR2 (n) или DATE),

Column_NAMEn column_type (NUMBER или VARCHAR2 (n) или DATE)

);

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

(NUMBER, VARCHAR2 (n), DATE), соответственно, для хранения чисел, строковых данных и данных календарного типа (дата/время).

Для текстового типа VARCHAR2 (n) после VARCHAR2 в скобках указывается количество символов для данной колонки.

Итак, сначала идет команда создания таблицы CREATE TABLE, далее – наименование таблицы: MANS, GOODS, ITEMS или любое другое.

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

Вот несколько примеров, как создавать таблицы в языке SQL:

1. Создать таблицу «Мебель»:

• артикул;

• наименование;

• количество;

• номер партии.

CREATE TABLE furnit (artikl VARCHAR2 (50) PRIMARY KEY, NAME VARCHAR2 (50),partCOUNT NUMBER, partnum NUMBER);

2. Создать

таблицу «Корзина для веб-магазина»:

• артикул;

• наименование товара;

• имя покупателя;

• количество;

• дата покупки.

CREATE TABLE shopINgcart (

article VARCHAR2 (50) PRIMARY KEY

,itemNAME VARCHAR2 (50)

,buyerNAME VARCHAR2 (50)

,itemCOUNT NUMBER

,dtbuy DATE

);

Создать таблицу «Предприятие»:

• название бригады;

• номер бригады;

• количество человек;

• дата создания;

• направление деятельности.

CREATE TABLE plant

(

NAMEteam VARCHAR2 (15),

numteam NUMBER PRIMARY KEY,

MANCOUNT NUMBER,

crDATE DATE,

dirToDo VARCHAR2 (30)

);

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

Можно ли использовать заглавные буквы в языке SQL и когда это допустимо?

Язык SQL не зависит от регистра, то есть при составлении команд можно писать и заглавными, и строчными буквами.

Примеры

Create TABLE Tab1 (TABno INteger PRIMARY KEY, NAME VARCHAR2 (10));

Create TABLE Tab1 (TABno INteger PRIMARY KEY, NAME VARCHAR2 (10));

CREATE TABLE Tab1 (TABNo INTEGER PRIMARY KEY, NAME VARCHAR2 (10));

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

Язык SQL допускает достаточно вольный перенос строк, главное, не разделять этим переносом осмысленные команды, а также соблюдать последовательность команд.

Примеры

Можно написать так:

CREATE TABLE TAB1 (TABno INteger PRIMARY KEY, NAME VARCHAR2 (10));

А можно и так:

CREATE TABLE

TAB1 (

TABno INteger PRIMARY KEY,

NAME VARCHAR2 (10));

А вот такая запись уже неверна:

CREATE TABLE TAB1 (TABno INteger PRIMARY

KEY, NAME VARCHAR2

(10));

Еще один пример неверной записи:

CREATE TABLE

PRIMARY KEY

TAB1 (TABno INteger,

NAME VARCHAR2 (10));

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

Поделиться:
Популярные книги

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

Берг Александра
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