Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Предположим, что есть таблица деталей Код: plaintext Следуя интуиции, надо создать еще одну таблицу, куда сложить все возможные названия, а в таблице Детали заменить их на указатели (экономиться место). Но ведь если все оставить как есть, ни одна нормальная форма не нарушается ? Получается, такое действие нельзя назвать нормализацией... или как ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 15:26 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Если попытаться приводить одновременно ко 2-й и 3-й форме нормализации, то получится противоречие. Все возможные названия нормализовать в отдельную таблицу нужно в том случае, если на одно наименование таблицы приходится более 1-го дополнительного наименования, и кол-во этих дополнительных наименований изначально неизвестно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 15:31 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
>>Если попытаться приводить одновременно ко 2-й и 3-й форме нормализации, то получится противоречие. какое именно противоречие ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 15:36 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
2 StalkerS: Если названий заметно меньше, чем деталей (т.е. они повторяются), то это - отдельная сущность. А раз так, то ей не место в таблице деталей - 1 НФ. Хотя с чего бы у разных деталей были одинаковые названия, я не знаю... Валентин КЕсли попытаться приводить одновременно ко 2-й и 3-й форме нормализации, то получится противоречие.Чего?! http://www.citforum.ru/database/dblearn/dblearn06.shtml#21Отношение Image находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение находится в 2НФ и все неключевые атрибуты взаимно независимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 15:38 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Shr Если названий заметно меньше, чем деталей (т.е. они повторяются), то это - отдельная сущность. А раз так, то ей не место в таблице деталей - 1 НФ. Хотя с чего бы у разных деталей были одинаковые названия, я не знаю... Названий может быть меньше, и значительно (какие-нибудь шайбы имеют разный шифр - но название все-равно шайба). А в чем проблема с повторениями, ну будут повторяться указатели, а не названия, разве это что-то изменит ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 15:48 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
StalkerSНо ведь если все оставить как есть, ни одна нормальная форма не нарушается ? В такой постановке вопроса нельзя ответить однозначно. Рассмотрите очень похожую структуру данных: таблицу (ид_сотрудника, зарплата). И интуицию, которая требует вынести повторяющиеся зарплаты в отдельную таблицу. В этом случае четко видны оба варианта: может быть понятие "ставка" (и это и будут вынесенные повторяющиеся зарплаты), а может его и не быть, всем назначается индивидуально, и выносить - значит, вводить бессмысленную, лишнюю сущность. Если неформально, то нормальная форма будет нарушена, если в данной конкретной БД имеет смысл операция "переименовать шайбу в клюшку", и она должна будет заменить "Шайба" на "Клюшка" во всех названиях сразу. Если же переименовывается конкретная шайба, нарушения НФ нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 16:29 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Процесс нормализации нельзя рассматривать отдельно от предметной области. В каких-то случаях данная таблица будет нормализованной, в каких-то - нет. К тому же ещё стоит определить перевес между нормализацией базы и сложностью кодирования интерфеса к такой базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 16:30 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
softwarer[quot StalkerS]Рассмотрите очень похожую структуру данных: таблицу (ид_сотрудника, зарплата). ничего себе похожая структура раз в 15 посложнее будет... сложно придумать задачу более запутаную чем расчет ЗП... разве что транспортная логистика и таможня вообще - выносить название в отдельную сущность или нет станет понятно если решить является ли "название" отдельной сущностью а не атрибутом сущности "деталь" в принципе у любой сущности есть только одно нэйтив свойство - есть она или нет - существует она в природе (в базе как объект учета) или нет Yes/No, все остальное может быть разложено по отдельным таблицам как описывающие атрибуты размер, цвет, вес, название только смысл в этом какой досконально требовать соблюдения нормальной формы - задача больше академическая чем практическая - на практике это только запутает схему данных и усложнит поддержание целостности данных БД ИМХО нужно понять предметную область - если изделия идут по ГОСТу или другим стандартам описаным во внешних источниках (являющихся так или иначе директивными) то выносить названия отдельно ИМХО смысла нет есть код детали и название впрочем возможны разные подходы, например одна и таже деталь выпущенная на разных предприятиях по одному госту и имеющая один код може физически быть различной в экземплярах - такое бавает часто - крышки одного типа реле не подходят к таким же реле выпущеным на других предприятиях... ИМХ - нужно решать по месту, в общем случае - ИМХО выностить название в отдельную таблицу смысла нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 16:55 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Это у тебя типы деталей и место им в другой таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 16:57 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Господа теоретики, когда начнете разрабатывать реальные системы учета, тогда подобные вопросы не будут возникать, и цитирование отпадет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 17:06 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
С чего-то же надо начинать. Интересно какой же процент таких вот начинающих программистов, которые учатся не у старших товарищей, а на собственных ошибках? И каков процент таким образом написанных систем? -------------------- Не учи отца и баста! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 17:09 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
softwarer Если неформально, то нормальная форма будет нарушена, если в данной конкретной БД имеет смысл операция "переименовать шайбу в клюшку", и она должна будет заменить "Шайба" на "Клюшка" во всех названиях сразу. а какая именно нормальная форма будет нарушена ? Вторая и третья вроде здесь не при делах, а в первой - вроде повторяющихся групп нет, ключ есть (это шифр). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2005, 18:23 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Нормализация следует после определения набора атрибутов и функиональных зависимостей между ними. Softwarer правильно отметил, что в свою чередь набор атрибутов и зависимостей определяется их прикладным смыслом. Этот набор нельзя _вычислить_ посредством нормализации. Естественным смыслом "экономной" структуры Код: plaintext 1. Код: plaintext Как представление Детали_ так и пара таблиц Детали, Название вполне нормализованы, как ни странно:). Соотношение полезного эффекта и издержек зависит от количественных характеристик БД. Предположительно при 20 символах наименования игра свеч не стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 12:08 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Как учили меня: справочники выделяются после окончания процесса нормализации. т.е., не закладываемся изначально на выделение справочников(но держим в уме атрибуты которые соответствуют справочникам), а когда схема нормализована - выделяем необходимые справочники. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2005, 16:08 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
StalkerS softwarerЕсли неформально, то нормальная форма будет нарушена, если в данной конкретной БД имеет смысл операция "переименовать шайбу в а какая именно нормальная форма будет нарушена ? Формально, возможно и никакая. Но если ближе к практике, сказанное (желание превратить все гайки в клюшки) свидетельствует о наличии некоторого явного или подразумеваемого атрибута "тип детали". И с учетом этого атрибута окажется нарушена либо третья (транзитивная зависимость пк->тип->название), либо первая форма (когда тип есть часть шифра детали). В принципе я допускаю существование БД, где такой атрибут не потребуется в явном виде и хватит операций с текстом; поэтому я и сказал "неформально". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2005, 11:51 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
А еще предлагаю тебе сделать справочник букв в названиях. Тогда будет совсем полная нормальная форма. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 10:55 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Недавно общался с одним преподавателем ИТ - старым знакомым. Глупости наслушался вдоволь. Эта ветка сильно похожа на это :) Вывод - вместо того, чтобы забивать себе голову правилами, смотри, как делают другие в других учетных системах, ну естественно реинжиниринг - и получается весьма быстрые и жизнеспособные решения. Не все станут архитекторами систем, но опыта будет гораздо больше, чтобы не говорили потом, показывая на голову - а еще я сюда ем. Вобщем негативная ветка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 11:36 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Отвечу разве что чтобы добавить в тред немного разумного. StalkerS Детали(Шифр (varchar(10), Название (varchar(20))) Следуя интуиции, надо создать еще одну таблицу, куда сложить все возможные названия, а в таблице Детали заменить их на указатели (экономиться место). Нет, место не обязательно будет экономиться. Если каждому названию соответствует ровно одна деталь, место наоборот будет расходоваться больше, потому что ты добавишь два размера ключа выделяемой таблицы. Если названия повторяются - надо считать. Может больше места будет все занимать, может - меньше. StalkerS Но ведь если все оставить как есть, ни одна нормальная форма не нарушается ? Нет, не нарушается. Ни так, ни в варианте с выделенной таблицей. (при условии, что ты нам все сказал и , например, шифр не входит в название и т.п.) StalkerS Получается, такое действие нельзя назвать нормализацией... или как ? Нельзя. Это - декомпозиция таблицы , не приводящая к устранению аномалий или функциональной зависимости. Нормализация - это декомпозиция таблицы, приводящая к устранению некоторых функциональных зависимостей атрибутов внутри таблицы. Вот ты прочел это все, и что, тебе легче ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 12:07 |
|
||
|
Нормализация
|
|||
|---|---|---|---|
|
#18+
Old NickС чего-то же надо начинать. Интересно какой же процент таких вот начинающих программистов, которые учатся не у старших товарищей, а на собственных ошибках? И каков процент таким образом написанных систем? -------------------- Не учи отца и баста! Учиться нужно не у старших товарищей, а у тех кто разбирается в предмете не только теоретически, а имеет реальную практику и работал с достаточно серьезными системами учета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 19:30 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33243006&tid=1545687]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
81ms |
get tp. blocked users: |
3ms |
| others: | 267ms |
| total: | 455ms |

| 0 / 0 |
