Создание регистрации и управления пользователями на сайте с помощью PHP + PostgreSQL

Мария

Новичок
Уважаемые гуру. Прошу Вас помочь мне с программой для моего дипломного проекта. Хочу научиться это делать а толком литературы по этому нету.
Как бы вот сама задача
«Подсистема ролевого разграничения доступа в среде дистанционного обучения» — это приложение, предназначенное для выдачи прав пользователям, с помощью присвоения ролей. Кроме того, приложение позволяет вести журнал основных действий пользователя (кроме чтения) с последующей выдачей отчета. Причем отчет выдается по конкретному свешенному действию пользователя, записанному в журнал, в определенное время с указанием самого изменения.
Для разрабатываемого приложения будет проектироваться база данных, которая будет (скорее всего включает в себя) содержать 8 основных субъектов:
а) субъект Пользователи;
б) субъект Роли в подсистеме;
в) субъект Присвоенные пользователю роли;
г) субъект Действия допустимые в системе;
д) субъект Присвоение действий ролям
е) субъект Объектов
ё) субъект Действий свершенных над объектами
ж) субъект Журнал
з) субъект Регистрация нового пользователя
и) субъект Отчет
Кроме таблиц база данных должна будет содержать регистрационную форму, форму для заполнения таблиц и выдачи отчетов по журналу.
Написала код таблиц а что делать дальше не знаю что делать.
Помогите пожалуйста.
 

DIG

Новичок
Партнер клуба
Мария
Вы просите сделать какуюто работу. Сколько Вы за неё платите?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Мария
Это классический прикол, шутка, ничего личного, реакция на ник и женский пол в профиле ;)
 

craz

Нестандартное звание
Мария
Вы просите сделать какуюто работу. Сколько Вы за неё платите?
Вы ответите: - Нисколько, эт же курсовая, я не работаю у меня нет денег, и будете хлопать глазами.
Тогда кто нибудь кто сможет помочь решит: -Ну раз денег нет, хоть сиськи покажи...

Dovg
как бы пропустил несколько пунктов из этого диалога) зато смысл шутки донес до всех очень точно)
 

Dovg

Продвинутый новичок
c0dex

Это в первую очередь реакция на просьбу о выполнении работы, без указания цены.
 

Мария

Новичок
Народ я хотела с вами проконсультироваться в этом вопросе решила сама попробовать написать. А если можно купить уже готовую то скажите сами скок потому что я сама не в курсе.
 

Мария

Новичок
Кстати вот sql код ток почему то мне говарят что он не правильный
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ПОЛЬЗОВАТЕЛИ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE USERS
(
U_LOGIN CHARACTER VARYING(35) PRIMARY KEY,
U_SURN CHARACTER VARYING(45) NOT NULL,
U_NAME CHARACTER VARYING(35) NOT NULL,
U_PATR CHARACTER VARYING(35) NOT NULL,
U_MAIL CHARACTER VARYING(35) UNIQUE,
U_PAS CHARACTER VARYING(16) NOT NULL,
U_FLOOR CHAR(1) NOT NULL,
U_HB DATE NOT NULL,
);
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА РОЛИ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE ROLES
(
R_ROLES SERIAL PRIMARY KEY,
R_TITLE CHARACTER VARYING(20) NOT NULL
);
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ПРИСОВЕНИЯ ПОЛЬЗОВАТЕЛЮ РОЛИ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE PPR
(
P_PPR SERIAL PRIMARY KEY,
U_USER INTEGER NOT NULL,
R_ROLES INTEGER NOT NULL,
CONSTRAINT USERS_FKEY FOREIGN KEY (U_USER) REFERENCES USERS,
CONSTRAINT ROLES_FKEY FOREIGN KEY (R_ROLES) REFERENCES ROLES
);
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ДЕЙСТВИЙ ДОПУТИМЫХ В СИСТЕМЕ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE DDVS
(
D_DDVS SERIAL PRIMARY KEY,
D_ACTION CHARACTER VARYING(10) UNIQUE
);
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ПРИСВОЕНИЕ ДЕЙСТВИЙ РОЛИ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE PDR
(
N_PDR SERIAL PRIMARY KEY,
R_ROLES INTEGER NOT NULL,
D_DDVS INTEGER NOT NULL,
CONSTRAINT ROLES_FKEY FOREIGN KEY (R_ROLES)
REFERENCES ROLES (R_ROLES),
CONSTRAINT DDVS_FKEY FOREIGN KEY (D_DDVS)
REFERENCES DDVS (D_DDVS)
);
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ОБЪЕКТЫ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE OBJECTS
(
O_OBJECTS SERIAL PRIMARY KEY,
NAME_O NOT NULL,
CONSTRAINT OBJECTS_PKEY PRIMARY KEY (O_OBJECTS)
);
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ДЕЙСТВИЙ СВЕРШЕННЫХ НАД ОБЪЕКТОМ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE DSNO
(
N_DSNO SERIAL PRIMARY KEY,
O_OBJECTS INTEGER NOT NULL,
N_PDR INTEGER NOT NULL,
CONSTRAINT PDR_FKEY FOREIGN KEY (N_PDR)
REFERENCES PDR (N_PDR),
CONSTRAINT OBJECTS_FKEY FOREIGN KEY (O_OBJECTS)
REFERENCES OBJECTS (O_OBJECTS)
);

/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ЖУРНАЛ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE LOG
(
L_LOG SERIAL PRIMARY KEY,
O_OBJECTS INTEGER NOT NULL,
N_DSNO INTEGER NOT NULL,
U_USER INTEGER NOT NULL,
L_DATE DATE,
CONSTRAINT OBJECTS_FKEY FOREIGN KEY (O_OBJECTS)
REFERENCES OBJECTS (O_OBJECTS),
CONSTRAINT USERS_FKEY FOREIGN KEY (U_USER)
REFERENCES USERS (U_USER),
CONSTRAINT DSNO_FKEY FOREIGN KEY (N_DSNO)
REFERENCES DSNO (N_DSNO)
);
скажите где я не так мыслю? пожалуйста
 

craz

Нестандартное звание
а кто говорит что не правильный? препод? вы в базу вбили уже этот код? таблички появились?
 

MiksIr

miksir@home:~$
С первого взгляда - у юзера сделали праймари кеем логин, а связывате с ним по id (integer).
 

Мария

Новичок
таблица пользователи выглядит так
/*-------------------------------------------------------------------------------------------------------------
ТАБЛИЦА ПОЛЬЗОВАТЕЛИ
-------------------------------------------------------------------------------------------------------------*/
CREATE TABLE USERS
(
U_LOGIN CHARACTER VARYING(35) PRIMARY KEY,
U_SURN CHARACTER VARYING(45) NOT NULL,
U_NAME CHARACTER VARYING(35) NOT NULL,
U_PATR CHARACTER VARYING(35) NOT NULL,
U_MAIL CHARACTER VARYING(35) UNIQUE,
U_PAS CHARACTER VARYING(16) NOT NULL,
U_FLOOR CHAR(1) NOT NULL,
U_HB DATE NOT NULL
);
проходит успешно.
Всмысле еще добавить поле U_ID c типом integer но может тогда использовать значение SERIAL
Но вот мне препод сказал что "у тебя полностью отсуствует оптимизация кода в таблице - это будет ужасающе медленно работать и роль - она не несет смысловой нагрузки"

как это все понять хз объясните что я делаю не так и что лишнее у меня
Заранее благодарю
 

Мария

Новичок
да форен тут срабатывает но ссылок на оригинальную таблицу не дает((
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Мария
Но вот мне препод сказал что "у тебя полностью отсуствует оптимизация кода в таблице - это будет ужасающе медленно работать и роль - она не несет смысловой нагрузки"
Да, в тему нужно либо сиськи, либо позвать преподавателя. А то чё-то комментарий его непонятен...
 
Сверху