Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 08.08.2008, 23:31   #1
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию Как лучше организовать базу данных типо как в ICQ

Сейчас я организовываю базу данны типо как в аськи и хотел бы узнать у вас лучший вариант её создания.
Сейчас я остановился на таком варианте что есть общас база где храниться номер,ник,имя,описание,фото,онлайн он или нет и т.д и ещё создаються отдельные мини базки у которых название это лоигн пользователя и пароль на них стоит соответсвено который пользователь указал там храниться информация о тех кто у него добавлен по номерам ну и общее колво тех кто есть и группы..Ещё интересует вопрос как организовать построение списка пользователя как вообще узнавать лучше кто у него был добавлен и как поступать если пользователь удалил свою анкету и ещё как лучше организовать чтобы узнавать онлайн пользователь или нет..
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 09.08.2008, 21:16   #2
edgy
Форумчанин
 
Регистрация: 15.06.2008
Сообщений: 271
По умолчанию

Цитата:
Сообщение от автор Посмотреть сообщение
Сейчас я остановился на таком варианте что есть общас база где храниться номер,ник,имя,описание,фото,онлайн он или нет и т.д
Что подразумевается под "общая база где храниться номер,ник..."? Это таблица что-ли?

Цитата:
Сообщение от автор Посмотреть сообщение
и ещё создаються отдельные мини базки
А это еще чего такое?

Цитата:
Сообщение от автор Посмотреть сообщение
... у которых название это лоигн пользователя и пароль на них стоит соответсвено который пользователь указал там храниться информация о тех кто у него добавлен по номерам ну и общее колво тех кто есть и группы..
Не совсем понял, т.е. вы хотите на каждого пользователя заводить таблицу, в которой будут храниться информация о тех, с кем он контактирует? А если у вас будет несколько млн. пользователей и вы на каждого будете заводить свою таблицу? Не расточительно ли?
Не проще ли для этого создать таблицу "Контакты" со структурой что-нибудь вроде этого:
id_user | id_contact

Цитата:
Сообщение от автор Посмотреть сообщение
Ещё интересует вопрос как организовать построение списка пользователя
см. выше про таблицу "Контакты"

Цитата:
Сообщение от автор Посмотреть сообщение
как вообще узнавать лучше кто у него был добавлен
А зачем это узнавать? Пользователь сам вам об этом скажет.

Цитата:
Сообщение от автор Посмотреть сообщение
и как поступать если пользователь удалил свою анкету
Удаляйте данные пользователя. Если не хотите удалять данные, то добавьте в таблицу еще одно поле типа "удален", в котором храните 1 или 0 ( 1 - например, будет означать, что пользователь удалил свою анкету, 0 - соответственно анкета не удалена ). Т.е. это будет некой пометкой на удаление.

Цитата:
Сообщение от автор Посмотреть сообщение
... и ещё как лучше организовать чтобы узнавать онлайн пользователь или нет..
Ну так ведь пользователь сначала авторизуется. Т.е. посылает некий запрос. Соответственно, если пользователь удачно прошел авторизацию, вы отмечаете в таблице, что пользователь находится онлайн. При выключении аськи программа должна отсылать на сервер сообщение, что пользователь ушел в оффлайн. И делается соответствующая пометка.
edgy вне форума Ответить с цитированием
Старый 09.08.2008, 23:13   #3
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

/*Ну так ведь пользователь сначала авторизуется. Т.е. посылает некий запрос. Соответственно, если пользователь удачно прошел авторизацию, вы отмечаете в таблице, что пользователь находится онлайн. При выключении аськи программа должна отсылать на сервер сообщение, что пользователь ушел в оффлайн. И делается соответствующая пометка.*/

Это то понятно...а если оборвалась связь и он ушёл спать не выйдя из программы заранее?
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 09.08.2008, 23:57   #4
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,538
По умолчанию

Цитата:
Сообщение от Руслантус Посмотреть сообщение
Это то понятно...а если оборвалась связь и он ушёл спать не выйдя из программы заранее?
опрашивать всех онлайн юзверей допустим раз в минуту: всё еще в сети он или связь оборвалась. Если от клиента ответ не пришел, значит он вылетел и помечаем его как офлайн
pu4koff вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше организовать структуру MySQL? Romanbl4 PHP 7 26.06.2008 23:46
Создать базу данных Master of Puppets Microsoft Office Excel 5 10.06.2008 13:34
как организовать отклик на событие при импорте-экспорте данных Artmi Microsoft Office Excel 8 03.06.2008 23:31
Как создать базу данных? LeonKing Помощь студентам 4 07.05.2008 14:11
Открыть базу данных MogilShik Помощь студентам 3 11.10.2007 17:11