Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Файл-сервер и Клиент-сервер (GAMER) 27/08/2002 - 15:32:05
      Re: Файл-сервер и Клиент-сервер (vi.k) 28/08/2002 - 04:27:29
      Re: Файл-сервер и Клиент-сервер (GAMER) 28/08/2002 - 17:35:14
      Re: Файл-сервер и Клиент-сервер (vi.k) 29/08/2002 - 04:07:18
      Re: Файл-сервер и Клиент-сервер (GAMER) 29/08/2002 - 14:33:16
      Re: Файл-сервер и Клиент-сервер (vi.k) 29/08/2002 - 17:05:00
      Re: Файл-сервер и Клиент-сервер (vi.k) 29/08/2002 - 17:05:07
      Re: О, бага форума!!! (vi.k) 29/08/2002 - 17:06:50
      Re: Файл-сервер и Клиент-сервер (GAMER) 02/09/2002 - 16:50:35
      Re: Файл-сервер и Клиент-сервер (vi.k) 03/09/2002 - 05:26:52
      Re: Файл-сервер и Клиент-сервер (GAMER) 03/09/2002 - 14:34:22
      Re: Файл-сервер и Клиент-сервер (vi.k) 04/09/2002 - 09:21:27
      Re: Файл-сервер и Клиент-сервер (Фдуч) 04/09/2002 - 11:45:35

> Original message text:
> From: GAMER - 27/08/2002 - 15:32:05
> Subject:Файл-сервер и Клиент-сервер
> -----------------
> Хотелось бы проконсультироваться по некоторым вопросам в сравнении Файл-Серверных технологий (FoxPro) и клиент-серверных (MySQL).
> 1.Ситуация такая. В магазине продают одновременно товар 2 продавца, и в тот же момент на складе вносят товар. Продавец1 получает список имеющегося товара (скачал некую выборку с сервера) и пошел пить пиво. В тот же момент такую же выборку получает Продавец2. Пусть будет там товар "Пиво, 100 штук". Продавец2 выписал 70 штук. На сервере указан остаток 30 штук. Позже приходит Продавец2 и виписывает 50 штук (у него ведь выборка старая на экране, там написано что ечть 100, а не 30). Получается, что продали 130, при том, что можно выписать только 100. В Фоксе изменения в таблицах на сервере, автоматически отображаются на локальгих станциях. При SQL приходиться все время обновлять выборки, то есть ганять по сети кучу похожих даных. Как побороть этот момент?
> 2.Есть таблица на экране. Добавляется строка. Она добавляется на экране и на сервере. Потом я походил по строкам на экране и захотел удалить только-что введенную строку. Как ее удалить на сервере? Надо чтобы таблица на сервере и на экране были связаны. По этому при записи на сервер надо получать уникальный номер добавленой строки и связывать этот номер со строкой на экране. Приходиться тогда в первом запросе добавлять строку, а во втором получать уникальный номер строки.(Например максимальный, если это был автоинкремент). Но тогда надо блокировать таблицу, чтобы в тот момент никто не добавил еще строку. Как побороть этот момент?
> Извените, что так много написал. Пытаюсь освоить новые технологии.
>


From: vi.k - 28/08/2002 - 04:27:29
Subject:Файл-сервер и Клиент-сервер
-----------------
RTFM

А сравнивать нечего. То что ты написал никак не является приемуществом Файл-Серверных технлогий. Это достоинство конкретной реализации (FoxPro).

1.
a) ISAM, MYISAM - TIMESTAMP

SELECT идентификатор, поле_типа_TIMESTAMP, количество_пива
FROM чего_там_есть_вообще_на_складе

UPDATE чего_там_есть_вообще_на_складе
SET количество_пива = количество_пива - 70
WHERE идентификатор=... AND поле_типа_TIMESTAMP=...

Но если Продавец2 успеет сделать операции выборки и обновления за одну секунду, то ... проблема останется.
Но тут можно в программе тонко ему намекнуть, что так быстро работать не стоит :-)

b) INNODB - SELECT ... FOR UPDATE
В этом случае пить пиво после взятия выборки не рекомендуется.
Работа будет стоять :-)

2.
a) SQL - SELECT LAST_INSERT_ID() - вторым запросом
b) C, PHP - insert_id() - без дополнительных запросов

Остальное в мануале




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
4460



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |