corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Создание приложений под управлением базой данных на PHP

Урок 1а. Создание базы данных MySQL

Содержимое этой страницы относится к среде IDE NetBeans 6.9-7.0

В данном уроке описывается последний подготовительный этап разработки приложения "Wish List" ("Список желаний") в рамках создания демонстрационной базы данных с тестовыми данными. Для выполнения всех этапов, предложенных в данном руководстве, необходима база данных, которая позволит сохранять данные (желания), введенные пользователями. Среда IDE NetBeans позволяет выполнить соответствующие действия с использованием интерфейса IDE.
Перед началом работы ознакомьтесь с требованиями, описанными в разделе Создание приложения типа CRUD на языке PHP – главная страница.

Текущий документ является частью учебного курса "Создание приложения типа CRUD в среде IDE NetBeans для PHP".


Создание пользователя базы данных

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

  1. Запустите среду IDE, перейдите в окно "Services" и разверните узел "Databases".
  2. Для подключения к серверу базы данных MySQL перейдите к узлу MySQL Server и выберите "Connect" в контекстном меню.
    Установление подключения к серверу MySQL с использованием интерфейса IDE NetBeans: выбор функции "Connect" в контекстного меню
    Появится диалоговое окно "MySQL Server Properties".
  3. Если сервер MySQL не был предварительно настроен, откроется диалоговое окно, в котором необходимо заполнить следующие поля:
    • В поле "Server host name" введите localhost.
    • В поле "Server port number" введите 3306.
    • В поле "Administrator user name" введите root.
    • В поле "Administrator password" введите пароль пользователя root, который установлен в ходе установки сервера MySQL.
    • Установите флажок "Save password" и нажмите кнопку "OK".
    Установление подключения к серверу MySQL с использованием интерфейса IDE NetBeans: диалоговое окно "MySQL Server Properties"
    В среде IDE NetBeans осуществляется подключение к серверу MySQL, выполняется проверка баз данных, доступных через сервер, затем выполняется поиск базы данных системы mysql и к дереву баз данных добавляется соответствующий новый узел mysql.
    Добавление нового узла mysql к дереву баз данных
  4. Для выполнения команды SQL необходимо подключение к базе данных. Поскольку доступна только система MySQL, следует подключиться к этой системе. Для подключения к системной базе данных перейдите к узлу mysql и выберите "Connect" в контекстном меню. Если подключение на данный момент отсутствует, появится диалоговое окно "New Database Connection". В поле "User Name" по умолчанию вводится значение "root". В поле "Password" введите пароль пользователя root.
    Создание нового подключения к базе данных
    В диалоговом окне "New Database Connection" появится сообщение "Connection established". Нажмите кнопку "OK". К дереву баз данных добавлен новый узел с именем jdbc:mysql://localhost:3306/mysql.
  5. Перейдите к узлу jdbc:mysql://localhost:3306/mysql и выберите в контекстном меню "Execute Command".
    Выбор "Execute command" в контекстном меню
    Откроется окно "SQL Command". В окне "SQL Command" введите следующие команды:
    CREATE USER 'phpuser'@'localhost' 
    IDENTIFIED BY 'phpuserpw'
    Выберите в контекстном меню "Run Statement". Если команда выполнена успешно, в строке состояния выводится следующее сообщение: "SQL Statement(s) executed successfully". Если выводится другое сообщение, проверьте синтаксическую правильность введенных команд и выполните советы, относящиеся к данному сообщению.

Создание демонстрационной базы данных

Для создания базы данных выполните следующие действия:

  1. Перейдите к узлу MySQL Server at localhost:3306 и выберите из контекстного меню "Create Database". Появится диалоговое окно "Create MySQL Database". Заполните поля следующим образом:
    • В поле имени "Database Name" введите "wishlist".
    • Установите флажок "Grant full access to user" и выберите в раскрывающемся списке . Нажмите кнопку "OK".
      Создайте диалоговое окно базы данных. Предоставление созданному пользователю прав доступа

      Функция предоставления полного доступа пользователю не всегда работает. Если она не работает, подключитесь к базе данных в качестве корневого пользователя и отправьте SQL-запрос GRANT ALL ON wishlist.* TO .

    Появится диалоговое окно "New Database Connection".

Установление соединения с демонстрационной базой данных

В диалоговом окне "New Database Connection" заполните поля следующим образом:

  1. В раскрывающемся списке "Name" выберите драйвер MySQL (Connector/J driver).
  2. В поле "Database URL" укажите узел, порт и базу данных следующим образом:
    jdbc:mysql://localhost:3306/wishlist
  3. В поле "Имя пользователя" и "Пароль" введите имя и пароль, указанные в разделе Создание владельца (пользователя) базы данных (в рассматриваемом примере — phpuser и phpuserpw, соответственно). Нажмите кнопку "ОК". В дереве баз данных будет отображаться соответствующий новый узел подключения.
    Новый узел подключения добавлен к дереву баз данных.
  4. (Дополнительно) Теперь подключение mysql по умолчанию можно удалить путем перехода к узлу jdbc:mysql://localhost:3306/ и выбора "Disconnect" из контекстного меню.

Разработка структуры демонстрационной базы данных

Для размещения и сохранения всех необходимых данных требуются две таблицы:

  • таблица "wishers" для сохранения имен и паролей зарегистрированных пользователей;
  • таблица "wishes", которая будет содержать описания требований.
Структура демонстрационной базы данных: две таблицы связываются посредством идентификатора пользователя (wisher ID).
Таблица "wishers" содержит три поля:
  1. "id" – уникальный идентификатор пользователя. Это поле используется в качестве первичного ключа.
  2. "name"
  3. "password"

Таблица "wishes" содержит четыре поля:

  1. "id" – уникальный идентификатор пользователя. Это поле используется в качестве первичного ключа.
  2. "wisher_id" – идентификатор пользователя, оставившего желание. Это поле используется в качестве внешнего ключа.
  3. "description"
  4. "due_date" – дата предъявления желания.

Таблицы связаны посредством идентификатора пользователя. Все поля таблицы "wishes" являются обязательными для заполнения, за исключением "due_date".

Создание таблиц

  1. Для подключения к базе данных щелкните правой кнопкой мыши узел подключения jdbc:mysql://localhost:3306/wishlist и выберите "Connect" в контекстном меню.
    Примечание: Если данный пункт меню не активен, это означает, что подключение уже выполнено. Перейдите к действию 2.
  2. В том же контекстном меню выберите "Execute Command". Откроется пустое окно "SQL Command".
  3. Для создания таблицы "wishers"
    1. Введите следующий SQL-запрос (обратите внимание на то, что для интернационализации необходимо специально настроить наборы символов для UTF-8):
      CREATE TABLE wishers(
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      name CHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL UNIQUE,
      password CHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
      )
      Примечание: Можно получить уникальный номер, автоматически генерируемый сервером MySQL, путем определения для поля свойства AUTO_INCREMENT. MySQL сгенерирует уникальный номер посредством увеличения на единицу последнего номера в таблице и автоматически добавит его к значению поля с этим свойством. В нашем примере автоматически должно увеличиваться значение в поле "ID".
    2. Щелкните запрос правой кнопкой мыши, затем выберите "Run Statement" в контекстном меню.

      Примечание. По умолчанию для хранения в MySQL используется механизм MyISAM, который не поддерживает внешние ключи. Если необходимо использовать внешние ключи, рассмотрите возможность использования механизма хранения InnoDB.

  4. Для создания таблицы "Wishes"
    1. введите следующий запрос SQL:
      CREATE TABLE wishes(
      id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
      wisher_id INT NOT NULL,
      description CHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      due_date DATE,
      FOREIGN KEY (wisher_id) REFERENCES wishers(id)
      )
    2. Щелкните запрос правой кнопкой мыши, затем выберите "Run Statement" в контекстном меню.
  5. Для проверки того, что новые таблицы добавлены к базе данных, перейдите к окну "Services", а затем к узлу подключения jdbc:mysql://localhost:3306/wishlist.
  6. Нажмите правую кнопку мыши и выберите "Refresh". В дереве появятся узлы "wishers" и "wishes".

Примечание. Набор команд SQL для создания таблиц базы данных MySQL wishlist можно загрузить здесь.

Ввод тестовых данных

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

  1. В узле подключения jdbc:mysql://localhost:3306/wishlist щелкните правой кнопкой мыши и выберите "Execute Command". Откроется пустое окно "SQL Command".
  2. Для добавления данных пользователя введите следующие команды:
    INSERT INTO wishers (name, password) 
    VALUES ('Tom', 'tomcat');
    Щелкните запрос правой кнопкой мыши и выберите из контекстного меню "Run Statement".
    Примечание: Оператор не содержит значений для id поле. Значения вводятся автоматически, поскольку указан тип поля AUTO_INCREMENT.
    Введите данные другого тестового пользователя:
    INSERT INTO wishers (name, password) 
    VALUES ('Jerry', 'jerrymouse');
  3. Для добавления пожеланий ("wishes") введите следующие команды:
    INSERT INTO wishes (wisher_id, description, due_date) 
    VALUES (1, 'Sausage', 080401);
    INSERT INTO wishes (wisher_id, description)
    VALUES (1, 'Icecream');
    INSERT INTO wishes (wisher_id, description, due_date)
    VALUES (2, 'Cheese', 080501);
    INSERT INTO wishes (wisher_id, description)
    VALUES (2, 'Candle');

    Выберите запросы, щелкните каждый правой кнопкой мыши по каждому из них и выберите "Run Selection" в контекстном меню.

    Примечание: Можно также выполнять запросы один за другим, как описано в пункте 2.

  4. Для просмотра тестовых данных щелкните соответствующую таблицу правой кнопкой мыши и выберите из контекстного меню "View Data".
    Просмотр введенных тестовых данных с использованием интерфейса IDE NetBeans

Ознакомиться с общими принципами организации баз данных и их моделями можно с помощью следующего обучающего руководства: http://www.tekstenuitleg.net/en/articles/database_design_tutorial/1.

Для получения дополнительной информации о синтаксисе операторов MySQL CREATE TABLE см. http://dev.mysql.com/doc/refman/5.0/en/create-table.html.

Для получения дополнительной информации о вставке значений в таблицу см. http://dev.mysql.com/doc/refman/5.0/en/insert.html.

Примечание. Набор команд SQL для создания таблиц базы данных MySQL wishlist можно загрузить здесь.

Что дальше?

Следующий урок >>

Назад на главную страницу руководства



Оставить комментарии и предложения, обратиться за поддержкой и получить информацию о последних достижениях в области функциональных возможностей разработки для PHP с помощью среды IDE NetBeans можно в списке рассылки .

Возврат к учебной карте PHP