В дополнение к практическим заданиям из книги продумайте свои собственные и попробуйте их решить.
Например, у вас есть практическое задание: выбрать из таблицы AUTO все автомобили марки BMW синего цвета.
Выбрать из таблицы AUTO все автомобили марки BMW синего и зеленого цветов.
Интерфейс ORACLE APEX
Онлайн-сервис ORACLE APEX обладает рядом дополнительных возможностей, которые будут нам помогать в процессе обучения. Поэтому, если вы используете для выполнения практических задач APEX, рекомендую ознакомиться с данным материалом.
К дополнительным возможностям сервиса APEX относится просмотр объектов схемы данных.
После входа в сервис APEX следует воспользоваться пунктом меню SQL Workshop, выберите подпункт меню OBJECT BROWSER.
В левой части экрана располагается список объектов, где через выпадающий список указывается, объекты какого типа отражаются в списке.
Рисунок 4. Список объектов
Выбор соответствующего типа объекта покажет список объектов заданного типа. Щелчок по заданному объекту позволяет отобразить структуру и свойства заданного объекта.
Просмотр структуры таблиц
Выберите в выпадающем списке в левой верхней части формы TABLEs. Список отразит все таблицы, которые вам доступны.
Выберите любую из таблиц.
В правой части страницы отразится структура выбранной таблицы.
Также доступны следующие вкладки, которые показывают сведения о таблице:
• TABLE – структура избранной таблицы;
• Data – данные избранной таблицы;
• INdexes – сведения об индексах заданной таблицы;
• ConstraINts – ограничения заданной таблицы;
• Grants – права базы данных по заданной таблице;
• SQL – SQL-код таблицы. Если вам необходимо посмотреть SQL-код таблицы, тогда следует обратиться к этой вкладке.
Просмотр кода процедур
В некоторых шагах мы обращаемся к исходному коду процедур и функций.
Выберите в выпадающем списке одно из следующих наименований: SEQUENCEs, Function, Procedures, Packages.
Рисунок 5. Исходный код функции Fn_CITY_NAME
В правой части веб-страницы будет отображен исходный код выбранного объекта.
Вопросы учеников
Сколько времени следует уделять занятиям?
Рекомендую уделять занятиям не менее четырех часов в день, тогда за 20 дней вы успеете пройти все шаги.
Если я все же не могу найти ответ на вопрос или не могу решить задание, что мне делать?
На сайте sqladv.ru есть ссылка на нашу группу в «Фейсбуке», там вы наверняка найдете ответ и решение задачи, с которой испытываете трудности.
В SQLFIDele есть такие же возможности по просмотру и редактированию таблиц, как в ORACLE APEX?
Нет, SQLFIDele – это менее сложный инструмент, тем не менее его возможностей достаточно, чтобы выполнить большинство практических заданий из этой книги.
Сколько примерно времени в пропорции уделять теории, а сколько посвятить практике?
Лучше всего из четырех часов рабочего времени следует один час уделить теории, а три часа – практике. Таким образом, примерно 80 процентов вашего учебного времени должно занимать выполнение практических задач.
Контрольные вопросы и задания для самостоятельного выполнения
1. Сколько рекомендуется тратить времени на занятия?
2. Как сделать карточки с наиболее сложными для понимания вопросами?
3. Как в APEX посмотреть все таблицы схемы?
4. Как в APEX посмотреть структуру заданной таблицы?
Шаг 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 – наименование города (текстовые данные);