Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.08.2009, 18:48
|
|
Познающий
Регистрация: 16.03.2009
Сообщений: 82
Провел на форуме: 148667
Репутация:
23
|
|
Хочу создать свой форум на php. Разработал диаграмму структуры базы данных.
Посмотрите и исправте если не верно построил структуру.
Пользователь ( ключ пользователя, имя, логин, пароль, пользователь администратор, ...., емеил пользователя)
Раздел( ключ раздела, имя раздела)
Тема( ключ теми, имя теми)
Сообщение ( ключ сообщения, имя сообщения)
|
|
|

11.08.2009, 19:04
|
|
Участник форума
Регистрация: 11.10.2006
Сообщений: 134
Провел на форуме: 3607644
Репутация:
235
|
|
Пользователь (ключ пользователя, имя, логин, пароль, пользователь администратор, ...., емеил пользователя)
Раздел(ключ раздела, имя раздела)
Тема(ключ теми, имя теми)
Сообщение (ключ сообщения, имя сообщения)
Ппц ты в чем рисовал. А где связь между сообщением и пользователем и сообщения с темой.
Пользователь: id name login password role и т. д.
Раздел: id title
Тема: id title fk_id(связь с id в раздела)
Сообщение: id text fk_userid(связь с id пользователя) fk_theme(id темы)
Вот как то так.
Последний раз редактировалось diGriz; 11.08.2009 в 19:25..
|
|
|

11.08.2009, 19:24
|
|
Познающий
Регистрация: 16.03.2009
Сообщений: 82
Провел на форуме: 148667
Репутация:
23
|
|
блин я в ворде рисовал, на скорую руку. А про связь я знаю но не знал как ее в скобках обозначить по руски. И кстати как в MySQL сделать связь между таблицами например сообщения и теми при создании самых таблиц, там вроде пишеться
CREATE TABLE messages (
id_messages PRIMARI KEY NOT NULL AUTO INCREMENT,
messages text,
как тут связь написать с таблицами пользователи и теми);
|
|
|

12.08.2009, 18:31
|
|
Новичок
Регистрация: 24.05.2007
Сообщений: 5
Провел на форуме: 71910
Репутация:
0
|
|
Сообщение от Patronik
блин я в ворде рисовал, на скорую руку. А про связь я знаю но не знал как ее в скобках обозначить по руски. И кстати как в MySQL сделать связь между таблицами например сообщения и теми при создании самых таблиц, там вроде пишеться
CREATE TABLE messages (
id_messages PRIMARI KEY NOT NULL AUTO INCREMENT,
messages text,
как тут связь написать с таблицами пользователи и теми);
CREATE TABLE messages (
id_messages int PRIMARI KEY NOT NULL AUTO INCREMENT,
messages text,
user_id int not null references users(user_id),
theme_id int not null references themes(theme_id)
)
может так?!
Последний раз редактировалось _StOnE_; 12.08.2009 в 20:51..
|
|
|

13.08.2009, 09:31
|
|
Познающий
Регистрация: 16.03.2009
Сообщений: 82
Провел на форуме: 148667
Репутация:
23
|
|
Сообщение от _StOnE_
CREATE TABLE messages (
id_messages int PRIMARI KEY NOT NULL AUTO INCREMENT,
messages text,
user_id int not null references users(user_id),
theme_id int not null references themes(theme_id)
)
может так?!
Нет не так)) Я уже написал)
CREATE TABLE messages (
id_messages int PRIMARI KEY NOT NULL AUTO INCREMENT,
messages text,
mes_user_id int not null,
mes_theme_id int not null,
FOREIGN KEY(mes_user_id) references users(user_id),
FOREIGN KEY(mes_theme_id) references themes(theme_id)
);
|
|
|

13.08.2009, 20:14
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
Подскажите пожалуйста:
1)TimeStamp(тип поля в MySQL)-содержит не просто дату и время, а набор данных отвечающих за нее?
2)есть записи в базе DateTime формата, если тип поля поменять на TimeStamp, как откорректировать значения? а то даты получаются не корректными...
3)есть поле "Id" - авто_инкремент... добавляя новую запись получается что записей к примеру две а третья добавляется 13ой, это нормально? или как сделать что бы она добавлялась 3й? подскажите пожалуйста я не сику в этом 
Последний раз редактировалось SaiRus; 13.08.2009 в 21:20..
|
|
|

14.08.2009, 11:56
|
|
Познающий
Регистрация: 15.02.2008
Сообщений: 98
Провел на форуме: 183980
Репутация:
50
|
|
1. Для информации http://www.mysql.ru/docs/man/DATETIME.html
2. почему некорректными? может длинна полей разная просто? или формат
3. вполне нормально. для порядкового номера используй либо отдельное поле, либо функцию которая получает этот номер.
|
|
|

14.08.2009, 12:49
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
datetime к примеру 2009-02-05 23:22:21, когда тип поля поставишь TimeStamp получиться типа 20090205232221 в итоге он выведет через strftime далеко не 2 мая и даже не 5 февраля, а год поставит какой нибудь 11  ну да ладно...
|
|
|

15.08.2009, 17:16
|
|
Постоянный
Регистрация: 24.11.2008
Сообщений: 416
Провел на форуме: 910902
Репутация:
100
|
|
FROM table WHERE filter=1/// из таблицы где фильтр равен 1.что за Filter? сорри за глупости 
|
|
|

15.08.2009, 17:49
|
|
Новичок
Регистрация: 06.02.2009
Сообщений: 10
Провел на форуме: 98658
Репутация:
9
|
|
SaiRus, ну, например, такой SQL запрос: SELECT * FROM table WHERE filter=1 - из таблицы table выбираем все записи, где filter равен еденице... т.е. в таблице, например, есть столбец с названием filter, и все записи в которых значение filter будет равно 1 являются результатом запроса, иначе - нет.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|