|
|
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Добрый День! Подскажите ув. Гуру, какой вариант Вам более предпочтителен, и почему! Релизация библиотеки 1-й вариант) Есть таблица Книги Код: plaintext 1. 2. Код: plaintext 1. 2. 2-й вариант) Есть таблица Книги Код: plaintext 1. 2. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 3-й вариант) Свой вариант. Спасибо за ответы.... В офисе стоит работа, идут дебаты, скоро дойдём до мордобоя отстаивая каждый своё мнение.... Помогите!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:16 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
asik1 Спасибо за ответы.... В офисе стоит работа, идут дебаты, скоро дойдём до мордобоя отстаивая каждый своё мнение.... Помогите!!! зачем мордобой!? Перво-наперво начните с семантического моделирования предметной области и тогда всё само станет на места ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:19 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
второй вариант лучше т.к. у одной книги может быть несколько авторов и у автора может быть несколько книг, которые он написал сам или в написании которых он участвовал обычная связь многие ко многим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:30 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
asik1В офисе стоит работа, идут дебаты, скоро дойдём до мордобоя отстаивая каждый своё мнение.... Помогите!!! 3-й вариант Есть таблица Книги Код: plaintext 1. 2. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:30 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
0bsidвторой вариант лучше т.к. у одной книги может быть несколько авторов и у автора может быть несколько книг, которые он написал сам или в написании которых он участвовал обычная связь многие ко многим Да только представте пользователя которому при вводе новой книги прейдёться подвязывать этих авторов к книге. Рутинная работа неправдоли:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:40 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Sasha_SДа только представте пользователя которому при вводе новой книги прейдёться подвязывать этих авторов к книге. Рутинная работа неправдоли:)Ну, ему ещё много чего нужно будет для книги ввести, не только авторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:49 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Sasha_S0bsidвторой вариант лучше т.к. у одной книги может быть несколько авторов и у автора может быть несколько книг, которые он написал сам или в написании которых он участвовал обычная связь многие ко многим Да только представте пользователя которому при вводе новой книги прейдёться подвязывать этих авторов к книге. Рутинная работа неправдоли:) Т.е. Вы предлагаете Вар 1, где будет количество записей в таблице авторы будет не МЕНЕЕ количества записей в таблице книг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:49 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
alexeyvgSasha_SДа только представте пользователя которому при вводе новой книги прейдёться подвязывать этих авторов к книге. Рутинная работа неправдоли:)Ну, ему ещё много чего нужно будет для книги ввести, не только авторов. ну это естественно, но в данном контексте обсуждается реализация связки "много-к-многим" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 16:53 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Можно почитать: ОСНОВЫ ПРОЕКТИРОВАНИЯ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ там как раз даётся пример на вашу тему ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 18:58 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
МАРТИН ГРУБЕР Понимание SQL -Ваш случай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2009, 20:02 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
asik11-й вариант Это не вариант. Это повод уволить проектировщика. asik12-й вариант Именно его и надо взять за основу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 12:33 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Sasha_SДа только представте пользователя которому при вводе новой книги прейдёться подвязывать этих авторов к книге. Рутинная работа неправдоли:)Сделайте ввод авторов в одну строку, разбор и анализ правильности ввода. Я что-то подобное делал на сервере, но ничего плохого нет, если то же самое сделать на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 13:54 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_LСделайте ввод авторов в одну строку, разбор и анализ правильности ввода. Я что-то подобное делал на сервере, но ничего плохого нет, если то же самое сделать на клиенте. Это тоже повод уволить проектировщика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 14:02 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовSenya_LСделайте ввод авторов в одну строку, разбор и анализ правильности ввода. Я что-то подобное делал на сервере, но ничего плохого нет, если то же самое сделать на клиенте. Это тоже повод уволить проектировщика.+1 Вообще непонятно, о чём команда спорит несколько дней. Наверное, это такой способ провести аттестацию в перидо кризиса :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 14:43 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Сергей ВаскецовSenya_LСделайте ввод авторов в одну строку, разбор и анализ правильности ввода. Я что-то подобное делал на сервере, но ничего плохого нет, если то же самое сделать на клиенте. Это тоже повод уволить проектировщика.Строг ты царь-батюшка! (С) Фильм Это в каком-же месте проектирование здесь затронуто? Це ж був оффтопiк :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 15:48 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_LЭто в каком-же месте проектирование здесь затронуто?вот здесь: Senya_L Сделайте ввод авторов в одну строку...Я что-то подобное делал на сервере... . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 15:53 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
egorychSenya_LЭто в каком-же месте проектирование здесь затронуто?вот здесь: Senya_L Сделайте ввод авторов в одну строку...Я что-то подобное делал на сервере... .И чем же плох ввод всех авторов одной строкой и последующий синтаксический анализ? К проектированию БД это не имеет никакого отношения, имхо. Это скорее к проектированию пользовательского интерфейса. То ли из справочника выбирать автора мучительно и долго, то ли просто напечатать так, как они упомянуты bibref - есть разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 16:01 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_LК проектированию БД это не имеет никакого отношения Хм. Проектирование полей и их назначения - это не проектирование БД? Senya_LЭто скорее к проектированию пользовательского интерфейса Как раз все с точностью до наборот. В интерфейсе это может выглядеть как отдельная закладка со списком авторов или вообще все что угодно вплоть до ввода авторов по их отпечаткам пальцев, а в БД такой мусор. Но маньякам потакать не люблю, поэтому - уволить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 16:44 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_LТо ли из справочника выбирать автора мучительно и долго Реализация быстрого поиска, поиска по коду и прочие хитрости явно оффтопик, но их незнание не может быть аргументом. Senya_Lто ли просто напечатать так, как они упомянуты bibref - есть разница? Подобная постановка превращает элементарный поиск книг по автору в танцы с бубном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 16:46 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
2Сергей Васкецов, Вы не разобравшись приказываете рубить голову :) Да и я был немногословен, а в итоге каждый о своем. Лучше я расскажу как это делалось в одной БД библиотечного толка. Авторы набивались в одну строку, причем требования простые: сначала инициалы, инициалы заканчиваются точкой, между инициалами нет пробелов, между последним инициалом и фамилией по-крайней мере один пробел. Несложно, правда? Для сохранения в ХП передаем эту строку с авторами и прочие данные. Строку авторов с помощью UDF разбираем по отдельным авторам и делаем применительно к таблице "Авторы" UPDATE OR INSERT. В таблице "Авторы" храним фамилию и инициалы (больше и не надо). И, конечно же, между Книгами и Авторами связь многие-ко-многим. Никто ж не спорит. В таблице связи указать порядковый номер автора в издании. Сергей ВаскецовПодобная постановка превращает элементарный поиск книг по автору в танцы с бубном.Так что никаких танцев. Хотя каюсь, тогда был молод и сделал денормализацию: в "Книгах" хранил список авторов в одном поле. ;) Но все триггеры честно "навесил" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 17:40 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_LАвторы набивались в одну строку, причем требования простые: сначала инициалы, инициалы заканчиваются точкой, между инициалами нет пробелов, между последним инициалом и фамилией по-крайней мере один пробел. Несложно, правда? орфографические ашипки, различие в регистрах, отсутствие/наличие лишних пробелов... вы общались с пользователями вашей системы? с операторами? задавали им вопросы, удобно ли им? предлагали ли альтернативные варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 18:19 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_L2Сергей Васкецов, Вы не разобравшись приказываете рубить голову :)Нет человека, нет проблемы :-) Senya_LИ чем же плох ввод всех авторов одной строкой и последующий синтаксический анализ? К проектированию БД это не имеет никакого отношения, имхо. Это скорее к проектированию пользовательского интерфейса. То ли из справочника выбирать автора мучительно и долго, то ли просто напечатать так, как они упомянуты bibref - есть разница?Мы говорили исключительно о схеме БД, поэтому вас не так поняли... А в принципе, идея для интерфейса нормальная, но не как автоматический парсинг и вставка полученных авторов (тут будет много ошибок при снижении уровня ответственности операторов за чистоту данных), а как хороший способ упростить поиск данных в справочнике. Например, оператор ввёл "Morris David Burkitt" Это один человек, или два, или три, или ошибка в какой-нибуть букве? Клиент, порывшись в справочнике, может предложить несколько вариантов авторов (с подсветкой возможного исправления ошибок), оператор выберет правильный, ну а если в справочнике нет - то заведёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 18:49 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
alexeyvgНапример, оператор ввёл "Morris David Burkitt" Это один человек, или два, или три, или ошибка в какой-нибуть букве?Такой пример точно не пройдет, я почти все проводимые проверки перечислил. А по поводу защиты от ошибок... Вы же сами понимаете, что никто не помешает пользователю ошибиться при занесении автора в справочник. Так что от ошибок полную гарантию дать никто не может. А насчет alexeyvg...а как хороший способ упростить поиск данных в справочнике.Такая идея была, но.... понимаете ли... База была по научной периодике, а авторов такое сейчас количество, как собак... Ну, понимаете, китайцев-то много ;) Вобщем, это равносильно занесению каждого из справочника, помощи маловато выходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 21:42 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Senya_LТакой пример точно не пройдет, я почти все проводимые проверки перечислил. А по поводу защиты от ошибок... Вы же сами понимаете, что никто не помешает пользователю ошибиться при занесении автора в справочник. Так что от ошибок полную гарантию дать никто не может. А как будет осуществляться поиск по автору в базе, когда она вырастит до большой? И что проще: исправить ошибку в справочнике или выискивать ошибочно введенного автора по всей базе? Причем один оператор занесет автора как Достоевский, второй Дастаевский, третий Дасваевский. Это один автор с ошибочно написана или три разных человека? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 22:52 |
|
||
|
Как правильно реализовать БД
|
|||
|---|---|---|---|
|
#18+
Сергей из СамарыSenya_LТакой пример точно не пройдет, я почти все проводимые проверки перечислил. А по поводу защиты от ошибок... Вы же сами понимаете, что никто не помешает пользователю ошибиться при занесении автора в справочник. Так что от ошибок полную гарантию дать никто не может. А как будет осуществляться поиск по автору в базе, когда она вырастит до большой? И что проще: исправить ошибку в справочнике или выискивать ошибочно введенного автора по всей базе? Причем один оператор занесет автора как Достоевский, второй Дастаевский, третий Дасваевский. Это один автор с ошибочно написана или три разных человека?Ну вот не надо справочники расписывать как панацею от всех ошибок операторов. Что помешает этому же человеку занести в справочник "Дасваевского"? На каждого хитрого программиста всегда найдется свой юзверь с винтом :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2009, 23:07 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35795991&tid=1543457]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 344ms |

| 0 / 0 |
