|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Никогда в жизни не рисовал подобную хрень https://goo.gl/images/dT1TQy Более того, не видел подобного ни в TOAD data modeller, ни в Ервине, не ER/Studio. Не говоря уж о SSMS или Workbenche Оказывается, в учебных заведениях еще что-то такое учат. Я в замешательстве... :D ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2019, 20:39 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Похоже, это данная нотация - динозавр :) Вот почему я ее не признал ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2019, 21:53 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Glebanski, Да, повеяло Дейтом из 70-х годов... А то что в вузах учат - это отдельная печаль. Хорошо хоть блок-схемы программ не заставляют рисовать.. Или?... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2019, 11:14 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Glebanski, Это не хрень. Это нотация Чена, автора ER - модели данных. Эта модель может использоваться для концептуального проектирования. На стадии концептуального проектирования, в общем случае, может быть еще не выбрана логическая модель (реляционная, иерархическа и вообще), а "TOAD data modeller, Ервине," как бы моделируют реляционную МД. Там нотации Баркера: типа ER уже ориентированная на то, что логическая будет реляционной. В EA есть такая нотация. В частности, модель спроектированная в такой нотации, например, подходит для обсуждения с заказчиком, который не является специалистом по БД. Она наглядна. Там четкое разделение Связей и Сущностей, позволяет рисовать N-раные связи. Скорее всего, специалисту по БД это , скорей всего желательно знать, чтобы быть во всеоружии. От того это и читают в ВУЗах. . ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 01:45 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Писал когда-то давно статью . Есть, например, Anchor модели, которые очень похожи на эту древнюю нотацию Чена, но при этом их "придумали" совсем недавно. Или ещё в Data Vault тоже используется эта идея - моделировать атрибуты отдельно от сущностей. Ещё есть очень древняя нотация - объектно-ролевые модели. И их тоже относительно недавно "переизобрели" в RDF/OWL. Короче, все эти древние нотации успели устареть, потом снова приобрести популярность под другими названиями (Anchor, RDF и т.п.), теперь снова устареть и так бесконечно в цикле. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 11:24 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Ares_ekbПисал когда-то давно статью . Есть, например, Anchor модели, которые очень похожи на эту древнюю нотацию Чена, но при этом их "придумали" совсем недавно. Или ещё в Data Vault тоже используется эта идея - моделировать атрибуты отдельно от сущностей. Ещё есть очень древняя нотация - объектно-ролевые модели. И их тоже относительно недавно "переизобрели" в RDF/OWL. Короче, все эти древние нотации успели устареть, потом снова приобрести популярность под другими названиями (Anchor, RDF и т.п.), теперь снова устареть и так бесконечно в цикле. Вообще-то ER расширилась до ERD. Но она не устаревала вроде: никто ее там не вытеснял. Пытаются с ней конкурировать. Просто многие не пользуются, так как вообще концептуальное проектирование происходит в голове. А многие "проектировщики" вообще не базисты: реляционная МД позволяет налабать БД, например, телефонных справочников любому программисту.Они пректируют окна интерфейсов, а под них клепают таблицы. Ну в этом сила РМД перед другими логическими МД. Но не перед концептуальными. И главное в ER не в выносе атрибутов, а в том, что Сущности визуально (прямоугольники) отличаются от Связей (ромбики). Это упрощает понимание. Это на ранних этапах проектирования позволяет лучше согласовывать проектировщику БД с аналитиками ПО, заказчиками насколько правильно он понял эту саму ПО. Этого нет в нотациях Бракера. "Вороньи лапки" это все же уже лучше для логического этапа проектирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 16:27 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
vadiminfo, например, в диаграммах классов UML N-арные связи рисуются ромбиками. Или в тех же Anchor моделях тоже ромбиками. В Data Vault связи рисуются хоть и прямоугольниками, но другого цвета. Короче, много где связи визуально отличаются от сущностей. Исторически есть два подхода к моделированию данных: 1) вариации на тему сущностей, атрибутов и связей (ER, диаграммы классов, Anchor и т.п.) 2) подходы, ориентированные на моделирование фактов (ORM, RDF, ISO 15926 и т.п.) 1 хороши для моделирования каких-то фиксированных структур данных, хранящихся в БД, передаваемых в электронных документах и т.п. 2 хороши для моделирования реальности. Например, мы разрабатываем схему данных для службы такси. Нам нужно хранить сведения о таксистах, операторах call-центра, клиентах, автомобилях и т.п. При использовании языков моделирования из 1-ой группы у нас есть такие варианты выбора сущностей: 1) таксист, оператор, клиент 2) физ. лицо, от которого наследуются таксист, оператор и клиент с какими-то дополнительными атрибутами 3) физ. лицо с атрибутом вид, который принимает одно из значений: таксист, оператор, клиент 4) физ. лицо, но вид определяем не по атрибуту, а по наличию связей. Например, если между физ. лицом и хотя бы одним автомобилем есть связь водитель-автомобиль, то считаем это физ. лицо водителем. Если есть связь клиент-автомобиль - считаем, что человек играл и роль клиента тоже Короче, есть некая объективная реальность. А описана в схеме данных она может быть очень разными способами. Роль человека может быть описана соответственно через: 1) виды сущностей 2) наследование 3) атрибут 4) связь Какой из этих вариантов правильный? При проектировании концептуальной модели хотелось бы выбрать какой-то один вариант, чтобы в будущем эту модель уже не переделывать. Например, сейчас у водителей и клиентов нет каких-то дополнительных атрибутов. Можем сложить их в одну табличку и описать их роли через атрибут "вид". В будущем появляются доп. атрибуты (стаж работы, отзывы о работе и т.п.) или оказывается, что человек может быть и водителем, и клиентом, и оператором. И нам важно учесть это в модели. И всё нужно переделывать. Проблема в том, что модели 1-ой группы в принципе плохо приспособлены для моделирования реальности. Одни и те же вещи можно моделировать и как сущности, и как связи, и как атрибуты. В данном случае это роль человека. А языки моделирования 2-ой группы как-раз хорошо приспособлены для решения этой проблемы. И если фигачить концептуальные модели, то на них. Неважно ромбиками рисуются связи или как сущности или линиями - языки a la ER в принципе для этого плохи. С другой стороны, они хороши для описания логических моделей. Потому что там важно где сущности, где связи, в каком порядке идут атрибуты и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 17:40 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
Ares_ekbvadiminfo, например, в диаграммах классов UML N-арные связи рисуются ромбиками. Или в тех же Anchor моделях тоже ромбиками. В Data Vault связи рисуются хоть и прямоугольниками, но другого цвета. Короче, много где связи визуально отличаются от сущностей. . Ну вот и хорошо, что их много: больше конкуренция, больше инструментов. Просто Вы говорили о "выносе атрибутов". И звучало так что это там основное и устарело. Но теперь получается не устарело другое главное - выразительность связей: "много где связи визуально отличаются от сущностей" говорит об актуальности. Ares_ekbvadiminfo, Какой из этих вариантов правильный? . Вот чтобы понять какой "правильный" в случае данного заказчика, возможно, стоит нарисовать в ER, и обсудить это с аналитиком предметной области, заказчиком. Эти диаграммы очень просты, и интуитивно понятны людям далеким и от БД и программирования. Например, заказчикам - таксистам, которые ни про какие БД не слыхивали.. Мне, кажется, много проще чем UML. Тем более, что, скорей всего, будет реляционная БД, а не какая-нибудь там объектно- ориентированная. Впрочем, тут дело каждого проектировщика. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 21:23 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
ИМХО, заказчику гораздо понятнее логическая модель с лапками. Если вы, конечно, не презентуете её таксистам, а хотя бы аналитикам. А пресловутая нотации Чена - вам не кажется, что она чрезмерно overloaded? И что перед презентацией ещё надо минут пять "легенду" разжевывать? Стрелочка со скобками, без скобки... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 22:07 |
|
Enhanced ER Diagram - динозавр из 1980х или я что-то упустил?
|
|||
---|---|---|---|
#18+
GlebanskiИМХО, заказчику гораздо понятнее логическая модель с лапками. Если вы, конечно, не презентуете её таксистам, а хотя бы аналитикам. А пресловутая нотации Чена - вам не кажется, что она чрезмерно overloaded? И что перед презентацией ещё надо минут пять "легенду" разжевывать? Стрелочка со скобками, без скобки... Вот если присутствуют сущности, например, с тернарной связью между собой, то в ER это сразу видно. А с помощью лапок как бы не очень видно. С лапками у вас прямоугольники и для связей и для сущностей. Я Вам больше скажу - это относят к недостатком реляционных МД. Вообще логическая - предназначена для программистов. Там уже выбрана типа системы запросов, т.е. она содержит не нужное заказчику. С лапками - значит реляционная система. Вы там понимаете, какие таблицы надо соединять, из каких выборки делать и т.д.. А в концептуальной отображается общий смыл. Она абстрагирована от того КАК будет извлекаться. Видно, только есть или нет в принципе нужная информация. Более того, возможно, будет в итоге выбрана какая-нибудь отличная от реляционной МД (иерархическая, объектонориетированная, полуструтурированная или никакая). Поэтому у нее есть преимущества на этапе концептуального проектирования. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2019, 22:42 |
|
|
start [/forum/topic.php?fid=32&fpage=6&tid=1539964]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 246ms |
total: | 379ms |
0 / 0 |