Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

metoda / Ml_ITIn_2013

.pdf
Скачиваний:
17
Добавлен:
16.03.2016
Размер:
6.66 Mб
Скачать

31

Нажав клавишу ―Пошел‖, на экран будет выведено окно вида (рис. 2.5), в котором необходимо указать информацию о таблице Lessons. Пусть логически таблица предназначена для хранения информации о лекциях (их названиях) и авторах лекции. Каждый столбец должен получить набор свойств характеризующих как сам столбец, так и элементы, которые будут вводиться (означиваться) в этом столбце таблицы. Другими словами каждому столбцу необходимо присвоить осмысленное имя, указать его тип, длину и точность (если столбец предназначен для хранения числовых данных) и ограничения присущие элементам этого столбца.

Примечание. Рекомендуется имя первого поля (столбец) в таблице обозначать символами ―Id‖ и присваивать ему тип INT (целое), длина этого поля прогнозируется максимальным числом строк, которое может содержаться в таблице. Тип поля INT использует 4 байта для хранения значения. Минимально значение - 2147483648, максимальное 2147483647. Беззнаковый INT (unsigned) хранит значения от 0 до 4 294 967 295.

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

Пусть для нашего примера, второй столбец предназначен для хранения названия лекции (латинское имя titel) и тип его символьный. Третий столбец тоже пусть типа CHAR и предназначен для хранения автора (writer) лекции.

Длина этого поля может максимально занимать 100 символов.

Рис. 2.5. Состав формы для указания характеристик столбцов формы.

Количество столбцов для описания характеристик каждого поля таблицы базы данных достаточно велико и на рис. 2.5 они все не показаны, поэтому не поместившиеся на экране столбцы приведены на рис. 2.6.

32

Рис. 2.6. Продолжение состава формы для указания характеристик столбцов формы.

Рис. 2.6a. Продолжение состава формы в PhpMyAdmin для указания характеристик столбцов формы.

Примечание. Пиктограмма – рис. 2.6a соответствует на рис. 2.6 , - индекс и т. д.

Помимо обычных характеристик столбцов хранимой таблицы базы данных, каждая таблица должна иметь столбец (столбцы) для идентификации уникальности объектов, отображаемых в данной хранимой таблице. Такой столбец (столбцы) получают статус реляционного ключа и в форме описания состава хранимой таблицы (рис. 2.6) фиксируются в столбце с именем ―Первичный‖

Пусть Вы заполнили форму (рис. 2.5, 2.6) следующими данными (рис. 2.7) с учетом того, что в столбце с именем ―Дополнительно‖ для первой строки таблицы (имя поля Id) указали служебное слово ―auto_increment‖, приказывающее СУБД MySQL формировать это поле автоматически, используя алгоритм счетчика. Т.е., если в хранимую таблицу (для нашего случая таблица с именем ―lessons‖ в базе данных My_base) будет добавляться новая строка, то значение поля с именем ―Id‖ будет формироваться из значения поля предыдущей строки плюс единица.

Рис. 2.7. Состав формы после указания характеристик столбцов формы. Если при попытке сохранить форму таблицы ―lessons‖ Вы не укажите,

на каком поле (полях) формируется реляционный ключ (для нашего случая

33

таким полем является поле с именем Id, и Вы не указали это явно в столбце ―Первичный‖ (на рис. 2.7 точка стоит правильно)), то получите сообщение от MySQL об ошибке, если точка в столбце ―Первичный‖ отсутствует, примерно следующего вида (рис. 2.8):

Рис. 2.8. Реакция MySQL на некорректное объявление таблицы Lessons.

CREATE TABLE ‗lessons‘(

‗id‘ INT(8) NOT NULL AUTO_INCREMENT, ‗titel‘ VARCHAR(200) NOT NULL

‗writer‘ VARCHAR(100) NOT NULL

)

Представленное предложение языка SQL (а точнее его часть, относящаяся к DDL) автоматически генерируется программой PHPMYADMIN, и указывает какая команда SQL была использована для генерации структуры хранимой таблицы с именем ‗lessons‘ и каков набор столбцов и их характеристик в создаваемой таблице.

Ниже приводится описание ошибки, сгенерированное в СУБД MYSQL, объясняющее, почему таблица не может быть создана.

Incorrect table definition; There can only be one auto column and it mast be defined as a key

Если Вы правильно укажите характеристики для создаваемой таблицы, и нажмете кнопку ―Сохранить‖ (рис. 2.5), то получите следующее окно (рис. 2.9).

Кнопки типа ―Структура‖, ―Обзор‖, ―SQL‖ и т. д. показанные на рис. 9 позволяют модифицировать внутреннею структуру как самой созданной таблицы Lessons, так и введенных в нее данных.

Так, например, кликнув на кнопке ―Структура‖ (рис. 2.9), мы получим окно следующего содержания (рис. 2.10).

34

Рис. 2.9. Реакция MySQL на корректное объявление таблицы Lessons.

Рис. 2.10. Реакция на кнопку ―Структура‖ таблицы Lessons на рис. 2.9.

35

Рис. 2.10. Продолжение рисунка. Реакция на кнопку ―Структура‖ таблицы

Lessons на рис. 2.9.

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

(рис. 2.10 или рис. 2.11).

Рис. 2.11. Реакция на кнопку ―Вставить‖ таблицы Lessons.

3. Программа работы

Приступим к заполнению информацией созданной таблицы. Напомним, что первая строка с именем id (рис. 2.11) заполняется

автоматически, так как ранее для нее указано ограничение ―auto_increment‖. При заполнении 2-ой и 3-ей строки в столбце ―Функция ‖ (рис. 2.11)

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

36

Поэтому заполнению подлежат только поля строки 2 и 3 в столбце ―Значение‖, что и показано на рис. 2.13.

Рис. 2.12. Listbox на кнопкe столбца ―Функция‖ таблицы Lessons.

Рис. 2.13. Ввод данных в первую строку таблицы Lessons.

Если Вы заполнили все данные для первой строки таблицы, то следует нажать кнопку ―Пошел‖ (рис. 2.13) и на экран будет выведено следующее окно (рис. 2.14).

37

Рис. 2.14. Таблица Lessons после ввода первой строки.

Структура SQL-запроса и синтаксические правила рассмотрены в лекциях по основам SQL.

INSERT INTO ‗lessons‘ (‗id‘, ‘titel‘, ‘writer‘)

VALUES (‗‘, ‗Лекция по Аpache‘, ‗Иванов‘

);

Аналогичным образом происходит вставка второй и последующих записей в таблицу Lessons, так, например, на рис. 2.15 показано состояние окна после ввода информации по лекции, касающихся основ SQL, которая названа ‗Лекция по SQL‘ и читает ее преподаватель Иванов.

38

Рис. 2.15. Таблица Lessons после ввода второй строки и нажатия .

Как видно из рис. 2.15, в таблице две записи и выборка произведена с помощью команды SQL

SELECT * FROM ‗lessons‘

Прежде чем рассмотреть функции импорта и экспорта данных в Mysql

Рис. 2.16. Назначение кнопок.

Рассмотрим, как производится импорт в базу данных файла, используя кнопку ―SQL‖ (рис. 2.17). Для этого выбирается необходимая база

и нажимается кнопка

39

Рис. 2.17. Переход в режим импорта файла в базу данных my_base.

Далее открывается файл, который необходимо импортировать в базу.

Рис. 2.18. Импорт файла в базу данных my_base.

Вставка (импорт) на основе функции реализованной на кнопке SQL (рис. 2.18) может производиться двумя способами. Первый из них подразумевает ввод данных в окно ввода (на рис. 2.18 оно обозначено ломанной фигурой) обработки SQL запроса предварительно открыв импортируемых файл, либо используя кнопку ―Обзор‖ (рис. 2.18), выбираете файл из соответствующей папки и используя кнопку ―Пошел‖ импортируют файл в Вашу базу данных.

40

Если возникает необходимость экспортировать вашу базу данных в виде обычного текстового файла, то нажатие кнопки ―Экспорт‖ (рис. 2.15-2.18) и на экране появится следующее диалоговое окно (рис. 2.19).

Рис. 2.19. Экспорт из базы данных.

Обычно механизм экспорта используется, когда изменения, произведенные на локальной машине необходимо передать на удаленный сервер. Нажатие кнопки ―Пошел‖ передает изменения на сервер.

На экране появляется текст, показанный на рис. 2.20, который копируется на удаленный сервер. Сервер имеет у себя такую же утилиту

Соседние файлы в папке metoda