Отложив в сторону основы языка, пройдем краткий ознакомительный курс по основам языка SQL. В следующем разделе мы разработаем несколько реляционных таблиц, создадим базу данных для их хранения и воссоздадим проект таблиц в MySQL, вставим записи в базу данных и зададим пару запросов системе, чтобы получить ответы на несколько вопросов.
И вот с этого места хочется попросить читателя самостоятельно проверить все предлагаемые примеры в работе. Этот процесс не только поможет вам лучше понять механизм работы MySQL, но и позволит быстрее освоить фундаментальные основы языка SQL и хорошо подготовиться к восприятию всего последующего материала.
Что такое реляционные СУБД
Начнем с начала. Каждая база данных состоит из одной или более таблиц. Собственно, эти таблицы, в которых данные организованы по строкам и столбцам, являются основой организации данных.
Так, ниже представлена типичная таблица.
Как видно, в таблице данные разделены на строки, где каждая строка - это запись. Рассмотрев аналогию базы данных - каталожный ящик с папками из главы 1, "Введение в базы данных", вы придете к выводу, что каждая папка в ящике соответствует строке таблицы.
Далее данные в каждой строке разбиты на ячейки (или поля), каждая из которых содержит значение конкретного атрибута данных. Рассмотрим, например, запись по конкретному пользователю Стиву Клингону (Steve Klingon). Здесь запись разбита на раздельные поля: идентификатор, имя, фамилия, номер телефона и адрес электронной почты.
Строки таблицы никак не отсортированы по какому-либо критерию; они могут храниться в алфавитном порядке, по идентификатору, по имени или по любому другому критерию. Поэтому необходим определенный метод, с помощью которого можно определить конкретную запись в таблице. В нашем примере, каждое поле идентифицируется идентификатором, который является уникальным для каждой строки или записи: это уникальное поле называется еще первичным ключом таблицы.
Следует подчеркнуть, что MySQL является реляционной системой управления базами данных, или реляционной СУБД. Реляционная база данных обычно состоит из нескольких таблиц, содержащих связанные между собой части данных. Язык SQL позволяет комбинировать данные из этой таблицы различными способами, позволяя таким образом анализировать новые взаимосвязи между данными.
В первом примере у нас была в распоряжении только одна таблица. Как бы она ни была хороша сама по себе, добавив новые таблицы и получив возможность установить определенные связи между ними, вы в действительности сможете увидеть реальную силу реляционной базы данных. Рассмотрим следующий пример, в котором к первой таблице добавлено еще две таблицы; во второй содержится список фильмов, имеющихся в прокате, а третья предназначена для связывания первой таблицы со второй через их первичные ключи.
Внимательно присмотревшись к третьей таблице, можно увидеть, что она связывает наименование видеокассеты и имя взявшего ее напрокат. Таким образом, видно, что Jane Doe (№ 2) арендовала Woman On Top (видеокассета № 6), а John Doe (№ 1) решил провести выходные с Star Wars (видеокассета № 1), ET (видеокассета № 2) и Charlie's Angels (видеокассета № 3).
Другими словами, третья таблица задает связи между первой и второй таблицами, что и является фундаментальной концепцией реляционных СУБД. После установки одной или нескольких связей появляется возможность выборки данных для ответа на определенные вопросы.
Создание баз данных
Теперь, когда мы познакомились с концепцией реляционных СУБД, можно перейти к решению конкретных задач. Запустим наш клиент MySQL. (Следует подчеркнуть, что все, что вводится в ответ на подсказку, печатается в листингах жирным шрифтом.)
Листинг 4.5.
[user@host]# mysql -u root -p Password: ******
Предположим, что все было введено правильно и вы ввели правильный пароль. В результате на экране вы увидите что-то вроде представленного в листинге 4.6.
Листинг 4.6.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 80 to server version: 4.0.9-gamma-standard
Type 'help;' or 'h' for help.
mysql>
Это подсказка для ввода команды MySQL. Заметим, что все команды MySQL завершаются точкой с запятой или последовательностью символов "g" и могут вводиться как в верхнем, так и в нижнем регистре.
Так как все таблицы хранятся в базах данных, самой первой командой является команда создания базы данных CREATE DATABASE, имеющая следующий синтаксис: CREATE DATABASE имя-базы данных
А теперь попробуем создать базу данных library.
Листинг 4.7.
mysql> CREATE DATABASE library;
Query OK, 1 row affected (0.05 sec)
Просмотреть все имеющиеся базы данных можно с помощью оператора SHOW DATABASES.
Из полученного списка баз данных с помощью оператора USE можно выбрать нужную:
USE имя- базы- данных Листинг 4.9.
mysql> USE library;
Database changed
После того как нужная база данных выбрана, можно воспользоваться оператором SHOW TABLES, с тем чтобы посмотреть список всех имеющихся в ней таблиц.
Листинг 4.10.
mysql> SHOW TABLES;
Empty set (0.00 sec)
Совершенно очевидно, поскольку это новая база данных, таблицы в ней отсутствуют. Давайте разберемся и с этим вопросом.
Подробнее о работе с базами данных можно узнать в главе 8, "Обработка баз данных и таблиц"
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Краткий курс MySQL и SQL
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Основы SQL | Все о MySQL. Добавление таблиц |