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)
);