powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Теория и практика нормализации.
25 сообщений из 81, страница 2 из 4
Теория и практика нормализации.
    #33740519
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmZoria, с чем помочь?
если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована. Вместо Name нужно делать ссылку на таблицу с именами. Если с точки зрения, что Names это имена разделов, допустим сайта (что-то навевает), то с точки зрения производительности может и не стоит. Names изменяется редко или крайне редко, запрашивается часто. Лучше при изменении Names изменить значение поля в приведенной таблице и заниматься нормализацией во вред. Т.е. в первом случае соглашайтесь, во втором приводите известные недостатки нормализации.
да... :) наконец ответы.
значит нормализованный вариант, не рассматривая его смысл выглядел бы:
tabMenu
Id menuName
1 статьи
2 форум
3 sql
4 sql
5 c#
6 mysql

tabMenuParent
menuId ParentId
1 null
2 null
3 1
4 2
5 1
6 2

где menuId parentId ссылаются на поле Id?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740520
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmКаждый день думаю об этом.Лучше читайте больше, может быть реже будете демонстрировать некомпетентность.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740522
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA iscrafmКаждый день думаю об этом.Лучше читайте больше, может быть реже будете демонстрировать некомпетентность.
:) Опять мессия. Добро пожаловать.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740527
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaвыглядел бы:
tabMenu

Id menuName
1 статьи
2 форум
3 sql
/*4 sql*/ - это лишнее
4 c#
5 mysql

tabMenuParent

menuId ParentId
1 null
2 null
3 1
3 2
4 1
5 2
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740529
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoСкажите, плиз, аргументы шефа.
он был довольно возбужден, и сумбурен, по-моему искал ответов у каких-то университетов, но насколько я поняла, он считает, что парентайди имеет функциональную зависимость от имени? Но это ведь не так, поскольку имя само не определяет элемент однозначно?
и так сузим вопрос.....если сущность таблицы - отображение иерархической зависимости , то имеет ли поле парентиди функциональную зависимость от ....имени ?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740530
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmОпять мессия. Добро пожаловать.Ни в коем случае, здесь достаточно одного Вас. Удачи.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740533
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована.

Продолжение внесений чего-то свеженького в теорию РМД. А чего? Мож премию Тьюринга дадут.

2 Zoria
Внешним признаком, того, что отношение (таблица) не находилась в 3НФ, будет то что после декомпозиции без потерь информации одно из отношений(таблиц) будет содержать меньше записей, чем в исходной. Это, конено, не только к 3НФ относится, но к 3 НФ однозначно. А Вас она интересует. Ваш пример с данным как ни декомпозируй записей будет 5.

Чтобы она не была в 3НФ согласно теории, а не тому что говорит iscrafm, нужно два условия (которых не видно в примере с данными):
Name было не уникальным (я предполагаю, что Id уникально) и была ФЗ:
Name->ParentID. (Из примера видно, что нет ФЗ: ParentID->Name)
Не уникальность Name дает отсутствие ФЗ: Name->Id. Тогда нарушение 3НФ на лицо.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740536
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA iscrafmОпять мессия. Добро пожаловать.Ни в коем случае, здесь достаточно одного Вас. Удачи.
Зачем тогда отмечались? Помогите лучше человеку разобраться
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740537
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам нужно представить эти два условия. Без них отношение в 3НФ.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740542
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Zoriaвыглядел бы:
tabMenu

Id menuName
1 статьи
2 форум
3 sql
/*4 sql*/ - это лишнее
4 c#
5 mysql

tabMenuParent

menuId ParentId
1 null
2 null
3 1
3 2
4 1
5 2

лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню?
предположим, мы имеем еще поле описание.
Id menuName menuText
1 статьи статьи обо всем
2 форум форум для всех
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
5 c# тема о с#
6 mysql раздель для мускуль
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740545
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo Ваш пример с данным как ни декомпозируй записей будет 5.
Внимательней записи пересчитайте. Можно даже галочки ставить на бумаге ставить (крыжить).

vadiminfoЧтобы она не была в 3НФ согласно теории, а не тому что говорит iscrafm, нужно два условия (которых не видно в примере с данными):
Name было не уникальным (я предполагаю, что Id уникально) и была ФЗ:

Name->ParentID. (Из примера видно, что нет ФЗ: ParentID->Name)
Не уникальность Name дает отсутствие ФЗ: Name->Id. Тогда нарушение 3НФ на лицо.
так все таки, нормализована или нет?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740550
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria
лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню?
предположим, мы имеем еще поле описание.
Id menuName menuText
1 статьи статьи обо всем
2 форум форум для всех
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
5 c# тема о с#
6 mysql раздель для мускуль

вот этим Вы и выражаете то, что хотите сказать
3 1 - скуль для форума
3 2 - скуль для описания чего то ни было
Т.е. Вы выделяете такую сущность как скуль :) при помощи 3, а при помощи
связок 3-1, 3-2 находите свою потерянную сущность
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740553
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
так все таки, нормализована или нет?
да, вот в чем вопрос.!Ю(
ps пошла регистрироваться..
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740559
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Zoria
лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню?
предположим, мы имеем еще поле описание.
Id menuName menuText
1 статьи статьи обо всем
2 форум форум для всех
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
5 c# тема о с#
6 mysql раздель для мускуль

вот этим Вы и выражаете то, что хотите сказать
3 1 - скуль для форума
3 2 - скуль для описания чего то ни было
Т.е. Вы выделяете такую сущность как скуль :) при помощи 3, а при помощи
связок 3-1, 3-2 находите свою потерянную сущность
имела я в виду, что в данном случае мы не можем сократить количество строк в таблице tbl_Menu и как следствие кол.во строк в tbl_MenuParent будет равно количеству строк в tbl_Menu
возьмем пример зависимость люди-шефы :)
существует 3 пети , но петя пете рознь не потому что они у разных шефов в подчинении, а потому что они разные люди:)
я не увожу нас в лес?:(..
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740560
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
Это отношение в 3НФ.
Вот пример ненормализованного, но не отношения а только состояния
Есть Name->ParentID и нет Name->Id

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
 6  san  2 

Тогда декомпозиция приводит к нормализации
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name ParentID
 1  van 
 2  ann 
 3  gog 
 4  pet 
 5  san 
 6  san 


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name 
van null
ann null
gog  1 
pet  1 
san  2 



Однако, нужно чтобы ФЗ сохранялась во всех состояних. И если допустимо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
 6  san  2 
 7  san  1 
То Name->ParentID нет. И предущая декомпозиция приведет к потре информации.

Поэтому и спрашивали с самого начала про зависмости атрибутов
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740566
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaимела я в виду, что в данном случае мы не можем сократить количество строк в таблице tbl_Menu и как следствие кол.во строк в tbl_MenuParent будет равно количеству строк в tbl_Menu

Ну как же не можем...
1 форум
2 статьи
3 ms sql
4 oracle
5 db2

3 1 - sql в форуме
3 2 - статьи по sql
4 1 - oracle в форуме
4 2 - статьи по oracle
5 1 - db2 в форуме
5 2 - статьи по db2
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740567
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там в декомпозиции в отношениях опечтка в именах атрибутов. Надо читать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name 
 1  van 
 2  ann 
 3  gog 
 4  pet 
 5  san 
 6  san 

Код: plaintext
1.
2.
3.
4.
5.
6.
Name ParentID
van null
ann null
gog  1 
pet  1 
san  2 
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740571
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Zoria
Ответьте хотя бы для начала на вопрос:

в Name возможны повторы? Если нет, то нормализовано.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740572
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria
возьмем пример зависимость люди-шефы :)

Люди-шефы скорее будет одна таблица, т.к. двойное подчинение в реальности вещь нереальная.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740573
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo2 Zoria
Ответьте хотя бы для начала на вопрос:

в Name возможны повторы? Если нет, то нормализовано.
Вы отвечаете не читая вопросы?
" имена естественно, могут повторяться " (c) Zoria
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740578
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тада второй ворос:

Про зависмость ParentID от Name:

Возможно ли чтобы были две записи такие, чтобы значения Name были одинаковы, а ParentID различны?

т.е. например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
.....
 16  san  3 

Здесь в 5 и 16
Значения Name одинаковы - san, ParentID - различны 2 и 3.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740583
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaПолистайте здесь и Вы сами сможете ответить на свои вопросы.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740584
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoТада второй ворос:

Про зависмость ParentID от Name:

Возможно ли чтобы были две записи такие, чтобы значения Name были одинаковы, а ParentID различны?

Я тут за переводчика с нормального языка на книжный. Да, возможно:

Zoria
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
Еще вопросы, не стесняйтесь :)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740585
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, насчет "имена естественно отличаются" - кажется таким уж и естественным. ID - суррогат. Он мало о чем пользователю не говорит.
Как он тада будет отличать разные имена? Но это так - комментарий насчет "естественно". Но раз отличваются, то отличаются.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740589
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все таки vadiminfo, нормализована таблица или нет?
К чему это было? :)
vadiminfoПродолжение внесений чего-то свеженького в теорию РМД. А чего? Мож премию Тьюринга дадут.
Картинку даже нарисовал.
...
Рейтинг: 0 / 0
25 сообщений из 81, страница 2 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Теория и практика нормализации.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]