Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

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

тема: Apartments Rentals Data Model
 
 автор: Lukas   (18.03.2010 в 23:00)   личное сообщение
25 Кб.
 
 

от Barry Williams. =>

Вопрос:
Принцип заполнения таблички View_Unit_Status?
При изменении/добавлении/удалении записей в табличке Apartment_Bookings
1. Кодом (файл-сервер) .
2. Возможностями сервера (клиент-сервер)
3. Как -то еще.
Или это запрос (вьюха)?

Спасибо.

  Ответить  
 
 автор: Силblч   (19.03.2010 в 08:50)   личное сообщение
 
 

не знаю, но "View_" в начале говорит о том, что возможно это вьюха-ха-ха-ха :)

  Ответить  
 
 автор: osmor   (19.03.2010 в 10:27)   личное сообщение
 
 

вообще во View разве бывают PK ?
очень похоже на таблицу для разбивания многие-ко-многим, но почему ключ - дата?
к тому же есть прямая связь один-ко-многим от Apartments к Apartment_Bookings
в общем непонятно

  Ответить  
 
 автор: Lukas   (19.03.2010 в 10:53)   личное сообщение
 
 

Спасибо.
Я так подозреваю:
В связи с тем, что в табличке Apartment_Bookings с ее диапазоном дат не проконтролировать
индексом "нахлест" диапазонов дат для статуса аппартаментов на конкретную дату, он
ввел эту дополнительную табличку с уникальным индексом аппартаменты-записьВКниге-дата.
Видимо, он просто ошибся в рисовании схемы с PK status_date.
Табличка удобна и для разворачивания "шахматки" статусов по дням.
Контролировать актуальность ее данных на сервере наверное несложно.
А вот в чистом MDB несколько сложнее.
Вот такие мысли.

  Ответить  
 
 автор: Explorer   (19.03.2010 в 12:25)   личное сообщение
 
 


Видимо, он просто ошибся в рисовании схемы с PK status_date.


я вообще не стал бы использовать эту схему

"шахматку" букинга можно разворачивать по таблице календарь

  Ответить  
 
 автор: Lukas   (19.03.2010 в 12:38)   личное сообщение
 
 

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

  Ответить  
 
 автор: Силblч   (19.03.2010 в 12:48)   личное сообщение
 
 

Ему нужно просто Верить На Слово!

  Ответить  
 
 автор: Lukas   (19.03.2010 в 13:04)   личное сообщение
 
 

Я верю ему На Слово, вот только Слово не всегда понимаю, а хотелось-бы.

  Ответить  
 
 автор: Explorer   (19.03.2010 в 12:56)   личное сообщение
 
 


Вопрос теоретический, без практического наполнения, но все-же для понимания



в схемах на DatabaseAnswers вообще не встречал ничего что годилось бы для практического применения - там просто какой-то стремительный поток сознания. подозреваю что и с точки зрения теоретических основ проектирования БД ценности все это имеет мало.

пару раз заглядывал, порылся, полистал. с содраганием захлопнул браузер и вычистил все из хистори и фэйворитс.

моего понимания теории БД недостаточно для оценки предложенных там решений

ЗЫ

поскольку эксплуатацией объектов недвижимости (и учета отношений аренды) я занимаюсь не теоретически а практически буду рад ответить на вопросы практического порядка

ЗЗЫ

табличка "календарь" неоднократно обсуждалась как на этом форуме так и на других имеющих отношение к проектированию и оптимизации баз данных

  Ответить  
 
 автор: Lukas   (19.03.2010 в 13:05)   личное сообщение
 
 

ОК, и на том спасибо.
При случае практического наполнения вопроса, воспользуюсь вашем любезным предложением.

  Ответить  
 
 автор: Lukas   (19.03.2010 в 13:42)   личное сообщение
 
 

Да, совсем старый стал.
Здесь не нашел табличку-календарь, а на соседнем форуме действительно ну очень неоднократно.
Спасибо за напоминание.

  Ответить  
 
 автор: Силblч   (19.03.2010 в 14:19)   личное сообщение
 
 

даже я настолькостарый, но всё равно вспомнил. что обсуждали мы здесь календарь, обсуждали! [неистово трясёт клюкой]

  Ответить  
 
 автор: Lukas   (19.03.2010 в 14:23)   личное сообщение
 
 

А я и не говорил, что здесь не обсуждали, я сказал, что я не нашел.
Ваша "старость", как показала весна, лечится сметанкой, а вот мой склероз, похоже только гильотиной.

  Ответить  
 
 автор: Explorer   (19.03.2010 в 21:23)   личное сообщение
35 Кб.
 
 


распишите чуть подробней претензии к схеме



если предположить что это Apartment Booking data model (на Apartment Rental это никак не тянет)

"навскидку" как-то так =>>

к схеме особых претензий нет - просто непонятно для чего она вообще ну и конечно - она недоработана

я знаю несколько компаний, которые занимаются посуточной сдачей в аренду квартир - ИМХО ни одна из них такой схемой не удовлетворилась бы :)

  Ответить  
 
 автор: Lukas   (19.03.2010 в 22:17)   личное сообщение
 
 

Благодарю, распечатал, изучаю.

Видимо, пользователей (заказчика) его схемы, все устраивало.
Это как по лесенке:
1. Переход от бумажного блокнотика к Excel-ю.
2. Переезд с Excel на Access(MDB).
3. Переезд с Access(MDB) на сервер SQL.
Причем каждая ступенька сопровождается дозой удовлетворения.

...ни одна из них такой схемой не удовлетворилась бы...
Ну да, после Вас попробуй кого-нибудь удовлетворить.

  Ответить  
 
 автор: Explorer   (19.03.2010 в 22:22)   личное сообщение
 
 


распечатал, изучаю


да чего там изучать-то это просто чтобы отметить:
сквозные контакты
сквозные адреса
история изменеий 
несколько гостей


вообще Booking (бронирование квартир) и Orders (заказы на размещение) нужно разносить, чтобы по одному Order'у делать несколько Booking'ов разных квартир (на выбор)

  Ответить  
 
 автор: Lukas   (19.03.2010 в 22:36)   личное сообщение
 
 

...да чего там изучать-то...
А что-бы понять, почему так, а не иначе.
Вопросики:
1. Какой контакт в tblBookings, манагер?
2. По какому принципу разнесен адрес по Line-ам?

  Ответить  
 
 автор: Силblч   (19.03.2010 в 22:48)   личное сообщение
 
 

http://www.youtube.com/watch?v=1KrveHCq2zE

  Ответить  
 
 автор: Lukas   (19.03.2010 в 23:01)   личное сообщение
 
 

Спасибо дружище, но нельзя ли вкратце словами, а то мой скайлинк держит меня на "диете"?

  Ответить  
 
 автор: Explorer   (20.03.2010 в 13:11)   личное сообщение
 
 

1 да, но это экземпл - это операционист или менеджер
2 общих принципов нет - это экземпл просто "навскидку"

1.a) лучше брать из таблицы tblEmployees (SELECT EmployeeID, CompanyID, ContactID <OUTER JOINS OTHER TABLES>)

2.а.) ASIS по адресу выделяем только кантри, сити, постал код - остальное в аддресс_лайн 1 и 2 (еще полезно указывать собственное имя объекта (BrandName) если есть - "Twin Towers", "Донской Посад", "МегаМолл" и т.п. - сейчас это модно) если есть необходимость четко бить адреса - схема будет другой, но это уже специфика основных бизнес-процессов конкретного бизнеса. В остальных (всех) случаях достаточно Fussy Search для не слишком глубокой аналитики по базе адресов

ЗЫ

а для того, чтобы понять почему так а не иначе всегда нужно начинать со схемы бизнес-процессов составленной в нотации любой привычной CASE системы (для меня привычна IDEF0 и DFD но использую в последнее время ARIS - хотя я ее очень не люблю. на UML често говоря просто сил уже нет хотя там очень много интересного - можно ровняться если есть потенциал к изучению)

  Ответить  
 
 автор: Lukas   (20.03.2010 в 13:59)   личное сообщение
 
 

По п.1 и п.2 понятно, по ЗЫ только первая строчка.
Остальное: надо учиться, учиться и учиться.

Благодарю за потраченное время.

  Ответить  
 
 автор: Explorer   (20.03.2010 в 15:30)   личное сообщение
 
 


по ЗЫ только первая строчка



http://www.interface.ru/home.asp?artId=725

  Ответить  
 
 автор: Lukas   (20.03.2010 в 18:00)   личное сообщение
 
 

Да-да-да.
Именно такого материала мне и нужно было. Углубился.
Спасибо.

  Ответить  
 
 автор: Explorer   (20.03.2010 в 18:34)   личное сообщение
 
 

тогда вот еще:

http://www.itshop.ru/Others/Modelirovanie/biznes-protsessov/s/AllFusion/Process/Modeler/BPwin/4.1/l4t2i2199

  Ответить  
 
 автор: Lukas   (20.03.2010 в 18:39)   личное сообщение
 
 

АААААА...
Мой, сгубленный вредными привычками, мозг не выдержит такой нагрузки и взорвется как граната Ф1.
Спасибо.

  Ответить  
 
 автор: Lukas   (21.03.2010 в 20:53)   личное сообщение
 
 

Еще вопросы появились, если позволите.

1. Описание интервала как CheckInDate+DaysForStay это требование бизнеса, или оптимизация решений по совокупности необходимых задач с интервалом?
Просто попробовал построение выборки (с таблицей календарь) и запрос с парой полей DateFrom+DateTo в полтора раза отработал быстрее (нет расчета + возможность применения индексов по обоим краям диапазона) чем с полями CheckInDate+DaysForStay.

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

  Ответить  
 
 автор: Explorer   (21.03.2010 в 21:13)   личное сообщение
 
 

очень хорошие вопросы (с) и оба касаются оптимизации того или иного конкретного решения.

да, действительно в большинстве реализаций (системы планирования "Resource usage") лучше брать две даты диапазона а количество дней рассчитывать - но очень много зависит от дальнейшей аналитики и вообще от назначения системы.

1) например, если вы соберетесь рассчитывать стоимость пребывания, услуг и т.п. или иные значения такого рода, выгоднее будет брать именно дни (количество) а не диапазоны. Или, на каом-то этапе работы с данными у вас появится и то и другое :)
1.а) если количество квантуется не в днях (а часах - в сауне, например, или в солярии) также будет выгоднее брать количество а не диапазон 12-09-2010 12:30:55 <> 12-09-2010 12:35:00. (а если возможно дифференцировать "поденно - почасам - помесячно, то тем более - хранить начало, квантор и количество)

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

мое имхо - нужно изначально (в паттернах) максимально зажимать тему, потом чуть отпускать гайки "по месту"

практика показывает, что сквозные адреса и контакты открывает новые горизонты по анализу при больших объемах данных - это уже дэйта майнинг -

если стоит такая задача для бизнеса - лучше обратить на это внимание сразу, хотя не слишком сложно размяться потом и разбросанных данных.

  Ответить  
 
 автор: Lukas   (21.03.2010 в 21:45)   личное сообщение
 
 

Доступно и понятно, Спасибо.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList