Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подскажите структуру БД
 
 автор: f@ntom   (29.11.2010 в 22:21)   письмо автору
 
 

Есть таблица с сообщениями

<?
CREATE TABLE 
`messages` (  //Личные сообщения (Личка)
  
`idint(11NOT NULL auto_increment,
  `
komuint(11NOT NULL,  //Кому сообщение
  
`otint(11NOT NULL,  //От кого сообщение
  
`messagetext collate utf8_bin NOT NULL,
  `
newint(1NOT NULL default '1',
  `
timedatetime NOT NULL,
  
PRIMARY KEY  (`id`)
);
?>



Столкнулся с проблемой, если кто-то удаляет сообщение (`kto` или `ot`), то и у другого пользователя сообщение удалится...
Вопрос: Как лучше построить структуру личных сообщений, что бы избежать данной ситуации..

  Ответить  
 
 автор: Trianon   (29.11.2010 в 22:23)   письмо автору
 
   для: f@ntom   (29.11.2010 в 22:21)
 

держать сообщения в одной таблице, а факты доставки (размещения в списках пользователей) - в другой.

  Ответить  
 
 автор: f@ntom   (29.11.2010 в 22:36)   письмо автору
 
   для: Trianon   (29.11.2010 в 22:23)
 


<?
CREATE TABLE 
`messages` (
  `
idint(11NOT NULL auto_increment,
  `
messagetext collate utf8_bin NOT NULL
  `
newint(1NOT NULL default '1'
  `
timedatetime NOT NULL
  
PRIMARY KEY  (`id`) 
);


CREATE TABLE `mes_users` (
  `
userint(11NOT NULL //Чья запись
  
`komuint(11NOT NULL //Кому сообщение
  
`otint(11NOT NULL //От кого сообщение
  
`idint(11NOT NULL  //id сообщения
);
?>


Примерно так ?
Тогда при отправлении сообщения, в таблицу mes_users придётся заносить 2 записи, со значением user = komu и user = ot

Правильно мыслю? ))

  Ответить  
 
 автор: Trianon   (29.11.2010 в 22:47)   письмо автору
 
   для: f@ntom   (29.11.2010 в 22:36)
 

"От кого" - стоит держать в таблице сообщений.
А "new" - скорее, наоборот, в таблице размещения.
В остальном - правильно.

  Ответить  
 
 автор: f@ntom   (29.11.2010 в 23:06)   письмо автору
 
   для: Trianon   (29.11.2010 в 22:47)
 

Спасибо большое )))
Ещё вопрос на по следок ))) Как можно проверить не будет ли слишком загружена база, если в онлайне будет более 1000 человек..

  Ответить  
 
 автор: Trianon   (29.11.2010 в 23:07)   письмо автору
 
   для: f@ntom   (29.11.2010 в 23:06)
 

Вы эту тысячу человек накопайте сперва.

  Ответить  
 
 автор: neadekvat   (29.11.2010 в 23:04)   письмо автору
 
   для: f@ntom   (29.11.2010 в 22:36)
 

Только старайтесь использовать английский названия: from (от) и to (кому)
Я, например, komu упорно читаю как Коми (республика такая, ага).

  Ответить  
 
 автор: Trianon   (29.11.2010 в 23:07)   письмо автору
 
   для: neadekvat   (29.11.2010 в 23:04)
 

мечты :))
Человек ник собственный без ошибки не может написать, а Вы - поле в таблице.
То есть я всеми конечностями - за! Но ведь утопия...

  Ответить  
 
 автор: f@ntom   (29.11.2010 в 23:07)   письмо автору
 
   для: Trianon   (29.11.2010 в 23:07)
 

Так красивее просто =(((

  Ответить  
 
 автор: Trianon   (29.11.2010 в 23:09)   письмо автору
 
   для: f@ntom   (29.11.2010 в 23:07)
 

как красивее?
fantom вместо phantom ?
или f@ntom вместо ph@ntom ?

  Ответить  
 
 автор: f@ntom   (29.11.2010 в 23:11)   письмо автору
 
   для: Trianon   (29.11.2010 в 23:09)
 

f@ntom вместо ph@ntom
Эстетичнее =)))))))))

  Ответить  
 
 автор: Trianon   (29.11.2010 в 23:11)   письмо автору
 
   для: f@ntom   (29.11.2010 в 23:11)
 

ну я ж говорил - утопия.

  Ответить  
 
 автор: neadekvat   (29.11.2010 в 23:15)   письмо автору
 
   для: Trianon   (29.11.2010 в 23:07)
 

Не все потеряно :)

  Ответить  
 
 автор: f@ntom   (29.11.2010 в 23:07)   письмо автору
 
   для: neadekvat   (29.11.2010 в 23:04)
 

Ок, прислушался, спасибо =))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования