Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];

Вниз

Блокировка операций изменения данных   Найти похожие ветки 

 
analyzer   (2005-06-14 09:18) [0]

Уважаемые мастера подскажите пожалуйста.
Имеется подобие СУБД с компонентами query,datasource и т.д необходимо чтобы когда один пользователь в сети входил в режим редактирования происходила блокировока операций изменения для других пользователей.В компоненте table есть функция lock,а в в query я ничего подобного не наблюдаю.Подскажите как быть.Заранее благодарен


 
Sergey13 ©   (2005-06-14 09:26) [1]

Какое имя у "подобия СУБД"?


 
analyzer   (2005-06-14 09:29) [2]

Написаная на дельфе.В качестве таблиц используются DBF...


 
Sergey13 ©   (2005-06-14 09:32) [3]

2 [2] analyzer   (14.06.05 09:29)
>В качестве таблиц используются DBF...
Боюсь, что это будет непросто, как минимум.


 
analyzer   (2005-06-14 09:38) [4]

Етто точно.А по поводу функции lock() компонента table кто может что рассказать?


 
Anatoly Podgoretsky ©   (2005-06-14 09:50) [5]

Ну раз подобие, то все в твоих руках.


 
Тучудище   (2005-06-14 09:51) [6]

Table.Lock(ltWriteLock)
Table.Lock(ltReadLock)
Table.Unlock(ltWriteLock)
Table.Unlock(ltReadLock)


 
analyzer   (2005-06-14 09:54) [7]

А можно ли эту красоту в query поюзать?


 
size=20   (2005-06-14 09:55) [8]

Отказать от этого подобия в пользу подобия с транзакциями - ФБ, МСДЕ и т.п.


 
analyzer   (2005-06-14 09:58) [9]

Да транзакции вещь полезная,но данном случае не уместная...


 
msguns ©   (2005-06-14 10:05) [10]

А что, нельзя с помощью TTable заблокировать таблицу, а с помощью TQuery ее читать - менять ?
Правда, что это будет за уе...ще, одному господу известно ;(


 
msguns ©   (2005-06-14 10:07) [11]

А какой смысл в сетевом доступе к БД, если все равно более чем одному юзеру доступ к таблице невозможен ?


 
analyzer   (2005-06-14 10:14) [12]

Насчет юзанья table и query паралельно я думал ,но изврат конечно такой что страшно подумать...

Невозможно одновременное редактирование ,а доступ на чтение паралельный.


 
Val ©   (2005-06-14 10:14) [13]

>analyzer   (14.06.05 09:18)
Раз работаете с дбф так и блокируйте их классически, с помощью TTable. Думаю, вполне нормальный вариант создать ряд процедурок, в которой будет создаваться экземпляр TTable с указанным именем таблицы(и что там еще нужно будет), локироваться, разлокироваться и освобождаться.


 
Val ©   (2005-06-14 10:15) [14]

сорри за повтор. не увидел пока писал.


 
msguns ©   (2005-06-14 10:20) [15]

>analyzer   (14.06.05 10:14) [12]
>Невозможно одновременное редактирование ,а доступ на чтение паралельный.

Для подобных целей (разграничение возможностей) используются логины и права. Если БД локальная, то реализуется программно. "Админ"-информацию хранить в отдельной таблице БД.


 
Anatoly Podgoretsky ©   (2005-06-14 10:24) [16]

Val ©   (14.06.05 10:14) [13]
Какие TTable, у него же своия СУБД, а TTable это уже БДЕ.
Кстати в сети это красиво выглядит, когда пользователь входит в редактирование, а потом отходит по делам не закончив его или в случае сбоя программы. Красота неописуемая.


 
Val ©   (2005-06-14 10:30) [17]

> [16] Anatoly Podgoretsky ©   (14.06.05 10:24)
Он говорит о квери, сравнивая с ттейбл, подозреваю, что все-таки движок БДЕ.
Блокировки таблиц везде красиво выглядят, но их используют. Как вариант используется сброс локирования по таймеру, но, при отсутствии транзакций...не мне вам объяснять.


 
Anatoly Podgoretsky ©   (2005-06-14 10:33) [18]

Он говорит "Имеется подобие СУБД"


 
Val ©   (2005-06-14 10:39) [19]

ага, сделанное в делфи, добавляет он. программка, которая написана на чем-угодно и просматирвает одну табличку - вполне тянет на субд :) давайте не будем отвечать за автора и дождемся его ответа.


 
msguns ©   (2005-06-14 10:45) [20]

Скорее всего, дбф-то нормальное, а вот работает с нею подобие программиста ;)


 
analyzer   (2005-06-14 10:53) [21]

Уважаемые мастера!

Слово "подобие" было применено как раз для того чтобы подчеркнуть уровень сего произведения.Естественно использоваться в практических целях оно не будет.Это курсовая по бд..........


 
Val ©   (2005-06-14 10:56) [22]

скажите, все-таки слово БДЕ - знакомо? используется ли этот движок в вашей программе?


 
analyzer   (2005-06-14 10:57) [23]

Конечно используется.Я думал уточнять это не требуется.


 
Zacho ©   (2005-06-14 11:16) [24]

analyzer   (14.06.05 10:57) [23]

Требуется. Кроме BDE имеется ещё множество движков для работы с БД. А твой  пост без этого уточнения поняли так, как то, что ты использешь свой самодельный движок.


 
analyzer   (2005-06-14 11:26) [25]

Тут все намного проще


 
size=20   (2005-06-14 11:33) [26]


> Да транзакции вещь полезная,но данном случае не уместная...

неуместно изобретать велосипед и геморой на свой зад


 
msguns ©   (2005-06-14 12:19) [27]

Было бы неплохо огласить тему "курсовой по бд" как она звучит в официальном, тасазать, виде


 
analyzer   (2005-06-14 13:40) [28]

Если есть такое желание то вот тема:

      Курсовая работа по СУБД

  По выбранной теме в некоторой предметной области
разработать базу данных и комплекс программ по управлению
этой базой.
  Курсовая работа должна содержать следующие разделы:

    1. Концептуальная (внешняя) модель предметной области,
       которая должна включать описание представлений о
       предметной области не менее 2-х пользователей в
       следующем виде:

       1.1 Описание объктов предметной области, их
           атрибутов и связей между объектами;

       1.2 Описание функциональных зависимостей, имеющих
           место в предметной области;

       1.3 Описание способов, форм обработки и представ-
           ления сведений о хранимой в базе данных инфор-
           мации (не менее 3-х запросов);

       1.4 Дополнительные требования;

       1.5 Модель предметной области ввиде схемы "Объекты-
           связи".

    2. Логическая модель предметной области с использованием
       реляционной модели.
       При этом необходимо выполнить следующее:

       2.1 Разработать схемы базовых отношений;

       2.2 Описать домены атрибутов всех отношений;

       2.3 Построить множество функциональных зависимостей;

       2.4 Построить неприводимое множество функциональных
           зависимостей;

       2.5 Построить множество супер-ключей.

       2.6 По множеству супер-ключей построить множество
           потенциальных ключей. Доказать их потенциальность.

       2.7 Выбрать первичные ключи. Обосновать выбор.

       2.8 Провести нормализацию отношений до уровня
           не ниже 3НФ. На каждом этапе нормализации
           обосновывать выбор первичных ключей для
           каждого отношения.

       2.9 Разработать предикат для проверки целостности
           базы данных.

       2.10 Описать требуемые виртуальные отношения.

       2.11 Разработать реляционные выражения для реализа-
            ции запросов.

    3. Фическая (внутренняя) модель, которая должна содержать
       тексты программ для создания и поддержки всех исполь-
       зуемых отношений, визуализацию запросов ввиде экран-
       ных форм и документов.
          При реализации внутренней модели особое внимание
       уделить выполнению следующих правил Кодда:

          - физическая независимость данных;
          - логическая независимость данных;
          - дистрибутивная независимость.

          Разрабатываемое программное обеспечение должно
       реализовывать сетевой, многопользовательский способ
       доступа, содержать инструкции по инсталяции программ-
       ного обеспечения и базовых отношений.
          Требуется обеспечить простое изменение основных
       констант, характеризующих предметную область типа:
       название организации, фамилия руководителя и т.д.


 
Sergey13 ©   (2005-06-14 13:47) [29]

2[28] analyzer   (14.06.05 13:40)
>Разрабатываемое программное обеспечение должно
реализовывать сетевой, многопользовательский способ
доступа
Ты неверно выбрал инструмент реализации этого пункта.
Ибо
>В качестве таблиц используются DBF


 
msguns ©   (2005-06-14 13:50) [30]

Если не секрет, то какая же "предметная область" выбрана для реализации задачи ?


 
analyzer   (2005-06-14 14:21) [31]

2 Sergey13
Да сетевой,многопользовательский режим это обязательное условие.

2 msguns
      СПИСОК ПРЕДМЕТНЫХ ОБЛАСТЕЙ:

 1. Библиотека
 2. Видиотека(фонотека)
 3. Общежитие студентов
 4. Гостиница
 5. Студенческий профком
 6. Бюро знакомств
 7. Деканат
 8. Кафедра
 9. Почтовое отделение
 10. Телефонная компания
 11. Торговый склад
 12. Поликлиника
 13. Учет автотранспорта (для ГИБДД)
 14. Архив ИНТЕРПОЛА
 15. Учет коммунальных платежей
 16. Торговый зал магазина
 17. Фирма по продаже недвижимости
 18. Рекламная газета
 19. Школа
 20. Отдел кадров
 21. Приемная комиссия института
 22. База переписи населения
 23. Налоговая инспекция
 24. Аэропорт (учет самолетов, служащих, рейсов, билетов, вылетов и т.д.)
 25. ЖД (учет поездов,служащих, направлений следовання, продажи билетов, отправлений и т.д.)

Я выбрал телефонную компанию,точнее оператора сотовой связи,т.к. сам работаю в телекомуникационной компании и имею опыт работы с билинговыми системами на основе oracle.


 
Val ©   (2005-06-14 14:32) [32]


> имею опыт работы с билинговыми системами на основе oracle.

В качестве кого? Как-то это не соотносится с вопросом.


 
Sergey13 ©   (2005-06-14 14:32) [33]

2 [31] analyzer   (14.06.05 14:21)
Как же тебя после Оракла на дибейс то потянуло? 8-)


 
Danilka ©   (2005-06-14 14:42) [34]

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


 
msguns ©   (2005-06-14 14:45) [35]

Ну так если есть представление о БД сотовой связи, модель инфопотоков в студию !


 
Sergey13 ©   (2005-06-14 14:58) [36]

2[35] msguns ©   (14.06.05 14:45)
Зачем они тебе? Поиздеваться? 8-)

2[31] analyzer   (14.06.05 14:21)
Самое простое, ИМХО, что можно предложить (раз БДЕ) - это скачай ФайрБерд сделай базенку аналогичную по структуре с имеющейся и подсунь ее программе вместо своей. В принципе все должно заработать почти без переделки (для курсовика сойдет). И можно говрить преподу, что блокировки в системе не нужны.


 
analyzer   (2005-06-14 15:03) [37]

Удалено модератором
Примечание: У нас не принято матюгаться


 
analyzer   (2005-06-14 15:06) [38]

2sergey13

Я хочу сделать все без организации клиент-серверной херни.А фиреберд это как я понимаю имено к-с субд.

Видел бы ты этого препода...Втер бы ты ему ченить... )))


 
Sergey13 ©   (2005-06-14 15:10) [39]

2[37] analyzer   (14.06.05 15:03)
>Я не знаю сколько тебе лет ,
Не расстраивай меня. Много. 8-)

>но если ты помнишь основная задача курсовой быть сданной,а все остальное мелочи.
Помню, как ни странно. Но ведь эти мелочи тебе покоя не дают, а не мне. Что, твой препод будет по коду лазать и блокировки искать? Или многопользовательский режим организовывать?


 
Val ©   (2005-06-14 15:10) [40]

>[37,38] analyzer   (14.06.05 15:03)
Вы чушь несете, простите. Такой курсовик логичнее было бы реализовывать именно на клиент-сервере, а не файл-сервере. И заметного усложнения при переходе на клиент-сервер при такой небольшой задаче я не вижу.



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2005.07.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.013 c
1-1120332898
Logan
2005-07-02 23:34
2005.07.25
Как записать положения CheckBoxа в inifile.


9-1113245655
Ford
2005-04-11 22:54
2005.07.25
Опрос


14-1120503313
vecna
2005-07-04 22:55
2005.07.25
виртуальные com-порты


14-1120257838
АпЭнд
2005-07-02 02:43
2005.07.25
А есть ли компонент TUpDown для Float ов ?


10-1097579913
ИМХО
2004-10-12 15:18
2005.07.25
Снова о OLE-автоматизации Ворда





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский