Читать книгу Oracle SQL. 100 шагов от новичка до профессионала. 20 дней новых знаний и практики - Максим Михайлович Чалышев - Страница 7

Шаг 4. Таблицы в базе данных

Оглавление

Теория

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

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

Так как мы изучаем SQL-диалект ORACLE СУБД, то данные правила справедливы именно для СУБД ORACLE:

• любая таблица в базе имеет уникальное наименование в рамках схемы данных;

• у каждой таблицы всегда есть заданное количество колонок: больше нуля и меньше 1024;

• каждая колонка также должна иметь уникальное наименование, но уже в рамках данной таблицы;

• в таблице в базе данных может быть практически неограниченное количество строк, здесь ограничения касаются только объема диска базы данных;

• для данных в таблице можно создавать ограничения. Ограничения касаются всех данных в колонке, на которую установлено ограничение;

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

• имя колонки в рамках таблицы также должно быть уникальным.


Создание таблиц по указанным правилам – это первый шаг в разработке базы данных.

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


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


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


Первичным ключом обозначаются колонки таблицы, содержащие набор уникальных значений, по которым мы можем однозначно идентифицировать строчку в рамках этой таблицы. Первичный ключ не может содержать пустые значения, так как всегда имеет ограничение NOT NULL.


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

Таблицы нашей учебной схемы

Наша учебная схема очень проста и состоит всего лишь из четырех таблиц.


Первая таблица 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, с которой мы познакомимся чуть позже.

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

1. Могут ли колонки разных таблиц называться одинаково?

2. Что такое первичный ключ, какие колонки (первичные ключи) есть в нашей учебной схеме?

3. Какие данные находятся в учебной таблице CITY?

4. Какая колонка в таблице MAN нашей учебной схемы содержит данные о возрасте человека?


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

Подняться наверх