|
|
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful Calf2 softwarer | сосед. был акцессник. теперь неи 3) Целостностью данных приходиться жертвовать,Дык и за что боремся? Это единственный недостаток, присущий схеме независимо от смысла данных ( в отличие от "Справочник_атрибутов_по_объектам" который может представлять реально полезный ограничитель сочетаний, а может оказаться и надуманным). Cheerful Calf иначе для каждой проверки (чистоты ёршика в туалете, карточки больного, наличие необходимых лекарств в запасе...) придёться делать отдельную таблицу. Нет. Достаточно объявить AК (UK) и FK в соответветсвии со смыслом схемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 13:18 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
ЗЫ 2 сосед. был акцессник. теперь неи А зачем в проверках Объект_проверки_АйДи, если его по вашей схеме всегда можно узнать из справочника_атрибутов по результатам_проверки? >Дык и за что боремся? За красоту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 14:04 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
А будит ли для абстракционных проверок правильная данная схема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 17:08 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfА будит ли для абстракционных проверок правильная данная схема? нет не будет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 17:27 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
А по-мойму будет... Обсудим? Будет потому, что в ней удалены все недостатки указанные для первой схемы. Почему не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 17:33 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfОбсудим? четыре таблицы на схеме обсуждать??? хм... ну-у-у-у... 1 какие именно недостатки предыдущей схемы удалены при создании этой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 17:53 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Связь М:М (там где она была излишней), целостность результатов с объектами. ну... тяпница... вечереет... Обсудить 5 таблиц - боюсь уже не успеем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 17:56 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfСвязь М:М (там где она была излишней), целостность результатов с объектами. ну... тяпница... вечереет... Обсудить 5 таблиц - боюсь уже не успеем главная ваша ошибка - вы создаете свойства для экземпляра а нужно для класса для экземпляра <того или иного> класса нужно устанавливать значение свойства например если у вас 30 врачей 300 санитаров и 10 проверяемых параметров у каждого разных для каждой из групп, вам придется создать 30 одинаковых экземпляров врачей 300 экземпляров санитаров и определить их параметры и ничего не перепутать ... н-е-р-е-а-л-ь-н-о вместо этого следовало бы создать класс "врач", определить для него 10 свойств, класс "санитар" определить для него 10 свойств а уж потом создавать экземпляры классов с уже предписанными свойствами и только устанавливать их значения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 18:10 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Батеньки, да как же можно объединить главврача и ёршик из туалета и представить их экземплярами одного класса?! :) Каждый мой экземпляр (в принципе) является единственным экземпляром класса, а потому нет никакой объединяющей сущности. Классом являеться Проверка и её экземпляры - проверка врача, проверка чистоты клозета, проверка пожарного щланга... Насчёт н-е-р-е-а-л-ь-н-о - ну а никто и не говорит, что будет легко :) НО объединение в классы ничего не даст. Или я не понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 18:21 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfБатеньки, да как же можно объединить главврача и ёршик из туалета и представить их экземплярами одного класса? копец какой-то... хорош уже бухать - ты бы лучше почитал чтоль чего... я тебе как раз и говорю что это разные классы с разными атрибутами... разница в том, что ты на 30 экземпляров главврачей будеш создавать по 10 свойств на каждого и на 300 ершиков по 10 свойств на каждого а нужно создать два класса главврачи и ершики, определить их атрибуты (не совпадающие (а может даже не пересекающиеся) множества) по 10 на каждый класс... пля... бросай ты это дело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 18:28 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
да ты домысливаешь то, чего на схеме нет и говоришь что это не правильно. Нету ёршиков! Есть Ёршик (один, единственный, неповторимый) и его надо проверить, соответсвует ли он тому, тому и этому. Для этой проверки ёршика есть специальный документ, в котором указано что проверять надо. Другой такой проверки никогда не будет. Для второго ёршика будет другой документ и другая проверка. зы - справочников проверяющих, адресов, телефонов, приказов и вообще никаких (как и таблиц) не схеме нет, так как они абсолютно не важны по соществу вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 18:34 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful Calfда ты домысливаешь то, чего на схеме нет и говоришь что это не правильно. я говорю что тут ВООБЩЕ нечего обсуждать на твоей схеме... в твоей схеме каждый атрибут привязан к одному объекту отношением Объект-<Атрибуты , поэтому связь Проверка>-Объект ВООБЩЕ не нужна - нужный объект можно "вытащить" по конкретному проверяемому атрибуту например атрибут "образование" у тебя всегда будет "Образование <Васи>" или "Образование <Пети>" поэтому связывать "проверку" с "объектом" нет никакого смысла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 18:58 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Да.. Получается объект в проверке излишний. За сим и тяпнем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 19:14 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfДа.. Получается объект в проверке излишний. За сим и тяпнем. нет, это объект в атрибутах лишний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 19:18 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Почему? перед проверкой атрибуты уже должны быть привязаны к объекту, на то докУмент имееться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 19:22 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Ксатати с Днём рожжденья на эскуэльру. За сим и тяпнем повторно :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 19:27 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfКсатати с Днём рожжденья на эскуэльру. За сим и тяпнем повторно :). спасибо только мой день рождения на SQL ру годами пятью наверное ранее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 20:00 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Inspectors to Inspections = связь не в ту сторону поставил... Sorry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 20:02 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfЗЫ 2 сосед. был акцессник. теперь неи А зачем в проверках Объект_проверки_АйДи, если его по вашей схеме всегда можно узнать из справочника_атрибутов по результатам_проверки? Извините – я не понимаю этого вашего вопроса. АйДи в сущность [Проверка] разместили вы, а не я. Извольте посмотреть свой первый пост с вопросом и убедиться, что это не просто второй атрибут в нарисованной вами сущности [Проверка], а еще и атрибут значение которого опредляется внешним ключом. Решать – нужен он там или нет не мне, а правилам, определяющим, что собой представляет сущность [Проверка]. Наличие или отсутствие связи между [Объектами_проверок] и [Проверками] (и, соответственно, наличие или отсутствие атрибута АйДи в сущности [Проверка]) дает логически различные, несовместные (словесные) определения сущности Я лишь предположил, что вы понимаете эти правила и стараетесь им следовать. Иначе говоря – предполагал, что способны произнести человеческими словами то, что рисуете квадратиками. Поэтому просто следовал тому определению, которое предопределяется вашим первым рисунком для сущности [Проверка]. Cheerful CalfА будит ли для абстракционных проверок правильная данная схема? Не знаю, кто такие «абстракционные проверки», но ваша вторая картинка сохраняет полностью недостаток, указанный softwarer-ом как пункт 3. Cheerful CalfДа.. Получается объект в проверке излишний. … никакой логической цепочки к этому утверждению от утверждения BULK INSERT... в твоей схеме каждый атрибут привязан к одному объекту отношением Объект-<Атрибуты , поэтому связь Проверка>-Объект ВООБЩЕ не нужна - нужный объект можно "вытащить" по конкретному проверяемому атрибуту ... провести нельзя. Нет здесь никакого «поэтому» и ничего не «получается» в отрыве от определения того, что представляет собой [Проверка] и как определяется это понятие. Пусть нашей предметной областью будет ветеринарная станция и [Проверкой] будет акт определения состояния животных. Очевидно, что всякого быка можно определить по номеру, выбитому на его копытах и на этом основании мы не включаем в схему мигрировавшего из [Объектов] в первичный ключ [Проверки] АйДи. Тогда акт проверки состояния животных может включать в себя множество животных – быков, коз, овец. Для выделения характеристик одного конкретного животного потребуется фломастер, чтобы отделить характеристики его копыт, рогов и хвоста от характеристик других быков и прочих животных, попавших в заданную проверку, даже если эти характеристики сгруппированы по животным в отчете о проведенной проверке. В случае, когда правила предметной йобласти именно так трактуют понятие (атомарной и неделимой) проверки, то, несомненно, атрибут АйДи Объекта (животного) не будет включен в сущность Проверка. Однако, это решение никаким образом не связано с фактом того, что нумерованные копыта однозначно определяют конкретного быка. Наличие или отсутствие АйДи Объекта в Проверке (и, соответственно н- наличие или отсутствие стрелочки-связи между ними) есть собственная характеристика сущности [Проверка], никак не выводимая из свойств [Атрибутов_Объекта.] Допустим теперь, что правила предметной области звучат диаметрально противоположно – атомарная и неделимая Проверка это всегда набор тестирования свойств одного и только одного объекта. Для такого случая миграция атрибута Айди из Объекта в Проверку естественным образом может быть использована далее как ограничение набора доступных к тестировании. свойств именно заказанного к тестированию объекта. Правда состоит в том, что существует уникальная система – Microsoft Access, которая даже в этом случае понимания Проверки сможет обеспечить целостность данных в строках проверки декларативным образом, без миграции АйДи из Объекта в Проверку – путем объявления подходящего Check Constraint для таблицы [Результаты_проверки] Кроме того, что такое решение окажется плохо переносимо на другие системы ( перенос в любом случае потребует написания программного серверного кода, даже там, где он возможен схожим образом – в виде наложения условия на табличный набор данных), в целом оно не вполне вписывается в общие правила декомпозиции предметной области на сущности. Кстати, в свете BULK INSERT... … поэтому связь Проверка>-Объект ВООБЩЕ не нужна - нужный объект можно "вытащить" по конкретному проверяемому атрибуту ... особенно познавательно выглядит картинка двумя постами выше - с мигрировавшим в проверку ObjectID и сохраненной возможностью записи в акт проверки быка результата тестирования козьих рогов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 22:37 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Да. Это. вот еще - совсем забыл - без обид. копыта - па добраму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2008, 22:41 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Ну нимагу же я тут выложить все таблицы, выложил только наиболее беспокоящие. Что касается быков (как класса) - у меня на первой схеме было _имяпроверяемого_ - это соответсвует внешнему ключу в реальной схеме, который ссылается на справочник экземпляров класса (номер копыт). На второй картинке его не стало, так как связи между тремя (или четырьмя, при ответе не видно) таблицами это никак не влияет. А связи плохие, так как образуют "кольцо"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2008, 09:45 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfНу нимагу же я тут выложить все таблицы, выложил только наиболее беспокоящие. Что касается быков (как класса) - у меня на первой схеме было _имяпроверяемого_ - это соответсвует внешнему ключу в реальной схеме, который ссылается на справочник экземпляров класса (номер копыт). На второй картинке его не стало, так как связи между тремя (или четырьмя, при ответе не видно) таблицами это никак не влияет. А связи плохие, так как образуют "кольцо"... про _имяпроверяемого_ - понял. Хорошо. Что до остального - плохо дело. Нет у меня формального образования и дипломов в области АйТи вообще и проектирования БД в частности. Может быть поэтому я не понимаю, кто такое кольцо, почему так называется и какими свойствами обладает. Обе ваши картинки трактуют таблицу [результатов проверки] как связывающую между собой проверки и атрибуты объектов. При этом это чистая M:N связь, позволяющая вписывать в строку результата проверки одного объекта атрибут чужого объекта. Предположительно, результаты проверки должны быть согласованы выбранным для проверки объектом. Ваша схема не содержит такого явного согласования. Это было опознано как недостаток именно вашего варианта схемы. (впрочем, с такими недостатками живут , может быть, почти все системы). В предложенном вам softwarer-ом и (независимо) мной варианте оформления таблицы результатов показано, как поддержать на уровне ограничений внешнего ключа соглаованность результатов проверки по отношению к проверяемому объекту. Попробую еще раз описать существо предложенного изменения. Никакого кольца там нет. Есть, точно так же, как и у вас - две связи со стороной "много" на таблице результатов. Одна связывает результаты с атрибутами, другая с проверками. [Проверка] в смысле "состоит из, содержит в себе" - является главной ведущей таблицей для результатов. (Т.к. из результатов проверки составляются сами проверки, а не атрибуты.) В предложенных вам вариантах оформления таблицы результатов, идентификатор проверяемого объекта - это слитый ( объединяющий) и соединяющий два внешних ключа атрибут. Который, участвуя в обоих, не позволяет фактом размещения записи в таблицу результатов связывать между собой проверку одного объекта с атрибутом другого и, таким образом, обеспечивает согласованность двух связей по объекту проверки. Если смотреть атрибуты на строки результатов, попадающие в состав внешних ключей как на результат join-операции, то атрибут идентификатора объекта - это атрибут, по которому происходит естественное ( в смысле - натуральное) соединение внешних ключей. Честно говоря, я не знаю - что еще и какими словами сказать на эту тему. За сим, с вашего позволения, я удалюсь из этого топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 00:10 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
авторЕсли смотреть атрибуты на строки результатов должно читаться так: Если смотреть на атрибуты строки результатов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 00:14 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Да так то, он так. Всё правильно и понятно. В предложеной софтварер схеме - появляется излишнее поле (второй фк), которое хранить в таблице вовсе нет никакого смысла, так как его можно получить простым селектом. Однако без него не возможна ссылочная целостность, и поле это только для того и дублируется... Вот. А мне хочется и красивым и умным быть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2008, 09:40 |
|
||
|
Объясните грамотно почему это не правильно.
|
|||
|---|---|---|---|
|
#18+
Cheerful CalfДа так то, он так. Всё правильно и понятно. В предложеной софтварер схеме - появляется излишнее поле (второй фк), которое хранить в таблице вовсе нет никакого смысла, так как его можно получить простым селектом. Однако без него не возможна ссылочная целостность, и поле это только для того и дублируется... Вот. А мне хочется и красивым и умным быть :) книжку по C# листал на досуге, там были правила программирования. и одно из них: не надо делать быстрее, не надо делать скорее - надо делать понятнее! потому как программист в отличие от чукчи сейчас читатель а не писатель. думаю в полной мере это относится и к данному случаю. Делай понятнее))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2008, 15:01 |
|
||
|
|

start [/forum/topic.php?fid=32&startmsg=35411394&tid=1543754]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 517ms |

| 0 / 0 |
