corner imagecorner image
IDEPlatformPluginsDocs & SupportCommunityPartners

Создание приложения на основе базы данных с помощью PHP.

Урок 1a: создание базы данных 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".
      Создайте диалоговое окно базы данных. Предоставление созданному пользователю прав доступа

      Функция "Grant full access to user", предоставляющая пользователю полные права доступа, срабатывает не всегда. Если она не работает, подключитесь к базе данных как пользователь root и отправьте запрос 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. В полях "User Name" и "Password" введите соответственно имя и пароль пользователя, указанные в разделе Создание владельца (пользователя) базы данных (в нашем примере это 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 можно загрузить здесь.

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

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

  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 можно загрузить здесь.

Что дальше?

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

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



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

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