БД access нужна помощь в понимание. Не знал куда запостить, решил в болталку. Не могу разобраться с нормальными формами, вот в википедии есть пример Где там первичный ключ в последних двух таблицах? Вот у меня есть таблица: Название фирмы | адрес | ф.и.о контактного лица | телефон | факс Ключевое поле сейчас название фирмы т.к. оно не будет одинаковым. Я так понимаю что бы привисти эту таблицу к 3НФ мне надо ее разбить на 4-ри таблице? 1. Название фирмы | адрес 2. Адрес | ф.и.о 3. ф.и.о | телефон 4. Телефон | факс а что из этого должно быть ключевым полем? или я вобще не в ту сторону пошел? Заранее благодарен.
Вместо того, чтобы использовать уже имеющиеся поля в качестве ключевых, крайне желательно для каждого объекта БД создавать ключевое отдельное поле - код (обычно числовой и принимает значения порядкового номера записи)
А тогда таблице будут выглядить? 1. код (ключ) | Название фирмы 2. код (ключ) | адрес 3. код (ключ) | ф.и.о 4. код (ключ) | телефон 5. код (ключ) | факс Но вроде тогда это уже не будет 3нф Так то же вроде смысла не имеет: 1. код (ключ1) | Название фирмы 2. код (ключ2) | адрес 3. код (ключ3) | ф.и.о 4. код (ключ4) | телефон 5. код (ключ5) | факс
Это понятно, а что с чем связывать? Вот скриншот http://s60.radikal.ru/i168/0903/3e/7cff50e83ac4.jpg Та таблица снизу это то что было(в краснйо рамке ФИО в новой таблице я обьеденил в один столбец) как в таблице сверху надо связь проложить? Везде от кода к коду? Просто в примере с википедии там идет связь фамили-> отдел отдел->телефон Но не одно из этих полей не может быть ключевым, потому что име не уникально. А что делать в моем случаи?
Ого, ну ты и намутил там. Что это вообще такое: "фирма:адрес", "фирма:ФИО", "фирма:название фирмы"? У тебя все три таблицы содержат информацию о фирмах, так? Тогда сделай одну таблицу "фирмы" и создай поля "почтовый адрес", "ФИО", "название фирмы", и "код фирмы" как первичный ключ. Таблицы связываются следующим образом, на пример таблица "клиент" там поля "код клиента" (который будет первичным ключем) и "название фирмы" (к которой он пренадлежит) и таблица "фирмы" там поля "имя фирмы" (которое будет п.к.) и "адрес фирмы", Тогда связать надо "название фирмы" из таблицы "клиент" с "имя фирмы" из таблицы "фирмы", потому как эти два поля имеют отношение друг к другу.