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

Урок 1б: создание таблиц базы данных Oracle

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

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

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


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

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

Пользователя можно создать либо с помощью средств Oracle или путем соединения IDE NetBeans с базой данных и использования SQL IDE. Среда NetBeans 7.0, в настоящее время доступная в виде разработки или бета-версии, предоставляет усовершенствованные возможности подключения к базам данных Oracle. Для получения дополнительных сведений о соединении IDE NetBeans с базой данных Oracle и создании пользователя в этой базе данных см. краткий учебный курс Соединение с базой данных Oracle.

Используя выбранное средство, создайте следующего пользователя:

Имя пользователя phpuser
Пароль phpuserpw
Системные привилегии CREATE TABLE
CREATE VIEW
CREATE SEQUENCE
CREATE TRIGGER
Роли (база данных Oracle 10.x) CONNECT
RESOURCE

Ниже приведен пример набора команд SQL для создания этого пользователя. Для выполнения этих команд предполагается, что в базе данных имеются табличные пространства USERS и TEMP.

drop user phpuser cascade;

create user phpuser identified by phpuserpw;

grant connect, resource to phpuser;

alter user phpuser default tablespace users temporary tablespace temp account unlock;

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

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

  • таблица "wishers" для сохранения имен и паролей зарегистрированных пользователей;
  • таблица "wishes", которая будет содержать описания требований.
Структура образца базы данных: две таблицы связаны с помощью идентификатора пользователя

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

  1. "id" – уникальный идентификатор пользователя. Это поле используется в качестве первичного ключа.
  2. "name" – имя
  3. "password" – пароль

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

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

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

Создание схемы базы данных Oracle

  1. Зарегистрируйтесь в базе данных в качестве только что созданного пользователя.

    При соединении с помощью IDE NetBeans создайте соединение с использованием новых имени пользователя и пароля. Убедитесь в том, что выбрана схема с именем пользователя. (См. раздел Установка подключения к базе данных Oracle учебного курса "Подключение к базе данных Oracle").

  2. Чтобы создать таблицу wishers, выполните следующий запрос SQL:
    create table wishers (
    id number not null,
    name varchar2(50) unique not null,
    password varchar2(50) not null,
    constraint wishers_pk primary key(id)
    );
  3. Чтобы создать таблицу wishes, выполните следующий запрос SQL. Обратите внимание на то, что для связывания пожеланий и пользователей, оставивших пожелания, создается внешний ключ.
    create table wishes (
    id number not null,
    wisher_id number not null,
    description varchar2(255) not null,
    due_date date,
    constraint wishes_pk primary key(id),
    constraint wishes_fk1 foreign key(wisher_id) references wishers(id)
    );
  4. Убедитесь в том, что к базе данных добавлены новые таблицы. При соединении с базой данных с помощью IDE NetBeans перейдите в окне 'Службы' к узлу соединения jdbc:oracle:thin:@localhost:1521:XE [phpuser on PHPUSER]. Новые таблицы приведены в узле "Tables" (Таблицы). (Если они не отображаются, щелкните подключение правой кнопкой мыши и выберите команду "Refresh" (Обновить)).
    Таблицы баз данных, как показано в окне 'Службы' IDE NetBeans

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

Добавление последовательностей и триггеров для увеличения значений идентификаторов

В базе данных Oracle необходимо указать последовательность для увеличения значения. Для увеличения значения при добавлении нового элемента в таблицу следует добавить триггер.

  1. Чтобы добавить последовательность для таблицы wishers, выполните следующую команду SQL:
    create sequence wishers_id_seq start with 1 increment by 1;
  2. Чтобы инициировать последовательность в столбце идентификаторов таблицы wishers при добавлении нового пользователя, оставившего запись, выполните следующую команду SQL:
    create or replace trigger wishers_insert
    before insert on wishers
    for each row
    begin
    select wishers_id_seq.nextval into :new.id from dual;
    end;
    /
  3. Добавьте последовательность для таблицы wishes.
    create sequence wishes_id_seq start with 1 increment by 1;
  4. Добавьте триггер, запускающий последовательность в столбце идентификаторов таблицы wishes при добавлении нового пожелания.
    create or replace trigger wishes_insert
    before insert on wishes
    for each row
    begin
    select wishes_id_seq.nextval into :new.id from dual;
    end;
    /

Примечание. Набор команд SQL для создания таблиц базы данных Oracle, включая последовательности и триггеры, можно загрузить здесь.

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

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

  1. Добавьте пользователя с именем Tom и паролем "tomcat".
    insert into wishers (name, password) values ('Tom','tomcat');
  2. Добавьте пользователя с именем Jerry и паролем "jerrymouse".
    insert into wishers (name, password) values ('Jerry', 'jerrymouse');
    commit;
  3. Добавьте пожелания.
    insert into wishes (wisher_id, description, due_date) 
    values (1, 'Sausage', to_date('2008-04-01', 'YYYY-MM-DD'));

    insert into wishes (wisher_id, description)
    values (1, 'Icecream');


    insert into wishes (wisher_id, description, due_date) values (2, 'Cheese', to_date('2008-05-01', 'YYYY-MM-DD'));

    insert into wishes (wisher_id, description)
    values (2, 'Candle');
    commit;
  4. Убедитесь в том, что данные добавлены. При использовании IDE NetBeans для просмотра данных проверки, щелкните правой кнопкой мыши соответствующую таблицу и выберите в контекстном меню 'Просмотреть данные'.
    Просмотр введенных данных с помощью интерфейса IDE NetBeans

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

Дополнительные сведения о синтаксисе операторов Oracle CREATE TABLE приведены в разделе http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm.

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

Что дальше?

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

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



Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с 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