Создание приложения на основе базы данных на языке PHP

Урок 1a: создание базы данных MySQL

Содержимое на этой странице применимо к IDE NetBeans 7.2, 7.3, 7.4 и 8.0

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

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


Регистрация сервера MySQL

Если в IDE еще не зарегистрирован сервер баз данных MySQL или вам требуется общая информация об использовании MySQL в IDE NetBeans, см. раздел Подключение к базе данных MySQL.

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

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

  1. Запустите IDE, перейдите в окно 'Службы' (Ctrl-5) и разверните узел 'Базы данных'.
  2. Для подключения к серверу базы данных MySQL перейдите к узлу MySQL Server и выберите "Connect" в контекстном меню.
    Создание соединений с сервером MySQL с помощью интерфейса IDE NetBeans: выбор 'Соединение' в контекстном меню
  3. IDE NetBeans устанавливает соединение с сервером MySQL, проверяет наличие доступных баз данных с помощью сервера, обнаруживает системную базу данных mysql и добавляет соответствующий новый узел mysql к дереву баз данных.
    К дереву баз данных добавлен новый узел mysql
  4. Для выполнения команды SQL необходимо подключение к базе данных. Поскольку доступна только система MySQL, следует подключиться к этой системе. Для подключения к системной базе данных перейдите к узлу mysql и выберите "Connect" в контекстном меню. Если подключение на данный момент отсутствует, появится диалоговое окно "New Database Connection". В поле "User Name" по умолчанию вводится значение "root". В поле "Password" введите пароль пользователя root.

    Примечание.Если вы уже подключались к базе данных mysql, это диалоговое окно не отобразится. Вместо этого в дереве просто появится новый узел подключения.

    Создание нового подключения к базе данных
    В диалоговом окне "New Database Connection" появится сообщение "Connection established". Нажмите кнопку "ОК". К дереву баз данных добавлен новый узел с именем jdbc:mysql://localhost:3306/mysql.
  5. Перейдите к узлу jdbc:mysql://localhost:3306/mysql и выберите в контекстном меню "Execute Command".
    Выбор команды 'Выполнить' в контекстном меню
    Откроется окно "SQL Command". В окне "SQL Command" введите следующие команды:
    CREATE USER 'phpuser'@'localhost' 
    IDENTIFIED BY 'phpuserpw'
    Выберите в контекстном меню "Run Statement". Если команда выполнена успешно, в строке состояния выводится следующее сообщение: "SQL Statement(s) executed successfully". Если выводится другое сообщение, проверьте синтаксическую правильность введенных команд и выполните советы, относящиеся к данному сообщению.

Создание базы данных Wishlist

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

  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 .

    Подключение к базе данных появится в дереве. Однако это подключение создано для пользователя root. Вам требуется подключение для пользователя phpuser.

Установление подключения к базе данных Wishlist

На предыдущем этапе вы создали базу данных wishlist с подключением для пользователя root. Теперь необходимо создать подключение для пользователя phpuser.

  1. В окне 'Службы' щелкните правой кнопкой мыши узел 'Базы данных' и выберите 'Создать подключение'. Открывается мастер создания подключений.
    Пункт 'Свойства' в контекстном меню подключения к базе данных
  2. На панели 'Обнаружение драйвера' в мастере создания подключений выберите MySQL (Connector/J Driver). Нажмите 'Далее'. Открывается панель 'Настройка соединения'.
    Панель 'Обнаружение драйвера' в мастере создания подключений
  3. В поле 'База данных' введите wishlist.
  4. В полях "User Name" и "Password" введите соответственно имя и пароль пользователя, указанные в разделе Создание владельца (пользователя) базы данных (в нашем примере это phpuser и phpuserpw). Установите флажок 'Запомнить пароль'. Нажмите 'Проверить подключение'. Если соединение установлено успешно, нажмите "OK".
    Заполненные поля на панели 'Настройка соединения' в мастере создания подключений

В дереве баз данных будет отображаться соответствующий новый узел подключения. Подключение для пользователя root к базе данных wishlist можно удалить. Нажмите на подключение jdbc:mysql://localhost:3306/wishlist [корневой элемент в схеме по умолчанию] и выберите 'Удалить'.

К дереву баз данных будет добавлен новый узел подключения

Проектирование структуры базы данных Wishlist

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

  • таблица "wishers" для сохранения имен и паролей зарегистрированных пользователей;
  • таблица "wishes", которая будет содержать описания требований.
Структура образца базы данных: две таблицы связаны с помощью идентификатора пользователя
Таблица "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 для создания базы данных wishlist MySQL можно загрузить здесь.

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

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

  1. В узле подключения jdbc:mysql://localhost:3306/wishlist щелкните правой кнопкой мыши и выберите "Execute Command". Откроется пустое окно "SQL Command".
  2. Для добавления данных пользователя введите следующие команды:
    INSERT INTO wishers (name, password) 
    VALUES ('Tom', 'tomcat');
    Щелкните запрос правой кнопкой мыши и выберите из контекстного меню "Run Statement".
    Примечание: . Оператор не содержит значения для поля идентификатора. Значения вводятся автоматически, поскольку указан тип поля 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 для создания базы данных wishlist MySQL можно загрузить здесь.

Что дальше?

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

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



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

Возврат к учебной карте PHP
get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo