Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
7 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 4
1

Правильная организация связей между тремя таблицами

03.01.2016, 01:13. Показов 2925. Ответов 69
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть три таблицы, надо наладить связь так, чтобы потом можно было делать выборку по области назначения по всему каталогу! Но не получается сделать связи, в чем косяк(
Миниатюры
Правильная организация связей между тремя таблицами   Правильная организация связей между тремя таблицами   Правильная организация связей между тремя таблицами  

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2016, 01:13
Ответы с готовыми решениями:

Создание связей между таблицами
Здравствуйте уважаемые гуру Есть 5 таблиц (база в приложении) 1. Клиент 2. Заказ 3. Тип заказа...

Нормализация связей между таблицами
Доброго времени суток! Не могу реализовать корректное заполнение отчета с разными полями из таблиц...

Создание связей между таблицами
Часть связей не поддерживает обеспечение целостности данных, требует уникальный идентификатор. Что...

Создание связей между таблицами
1. Запустите базу данных «Фирма». Сотрудники данной организации работают с клиентами и выполняют...

69
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
03.01.2016, 01:34 2
1) Пока ваша база еще на этапе проектирования - сразу исправьте ляп, который в будущем может вам сильно попрортить жизнь. Слова Group, Connect и Catalog уже используются внутри самого Аксеса (Group зарезервированное слово языка построения запросов, Connect и Catalog - имена объектов системы доступа к данным), и использование этих слов в качестве имен таблиц чревато проблемами на следующих этапах создания базы.

2) В таблице Catalog переименуйте поле Область в КодОбласти, сделайте его числовым (размер поля - длинное целое), сохраните и закройте таблицу. Снова попробуйте создать связь в схеме данных (тащите поле Код таблицы Connect на поле КодОбласти).
1
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,574
03.01.2016, 11:46 3
Эх. хоть и возникло непреодолимое желание попенять советчикам, что не упомянули про - ОБЯЗАТЕЛЬНОЕ - Счетчик (в будущих запросах и формат.) типа не предусмотрев заранее можно помучиться в будущем, хотя о чём я, у как они любят выражовываться. - не желаем слушать иностраннных враждебных советчиков.
Бог им Судбя.
1
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
03.01.2016, 12:42 4
Счетчик - как раз НЕ обязателен. Если у таблицы есть числовой смысловой ключ - а есть основания думать, что у таблицы Каталог это вполне может быть именно так (на момент создания базы у книжки могут уже иметь кем-то ранее присвоенные каталожные номера) - то нет никакой необходимости перенумеровывать их заново.

Добавлено через 6 минут
Цитата Сообщение от texnik-san Посмотреть сообщение
числовой
уточнение: целочисленный. Числовые с плавающей точкой ключом быть не могут.
1
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,574
03.01.2016, 13:02 5
Цитата Сообщение от texnik-san Посмотреть сообщение
Счетчик - как раз НЕ обязателен.
А вдруг нечаенно возникнет скоропостижное и непреодолимое желание чего то там подсчитать именно по этому полю, типа Соent ну иди чЁ то ещё неподобии?
не уверен, что на 123 % это даже не пригодится, даже теоретически.
Дилетанты.
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
03.01.2016, 13:10 6
И какая, по вашему, функции Count разница, что именно считать - автоматически сгенерированные числа или введенные вручную?

Добавлено через 1 минуту
Дилетанты.
Спасибо за комплимент ))
0
8860 / 5908 / 585
Регистрация: 27.03.2013
Сообщений: 19,574
03.01.2016, 13:49 7
Нук если вы ДАЖЕ спрашиваете, то у меня и вопросов то ни каких УЖЕ НЕТ..
Kapytan, Просто ни кто, даже Вы не ПОЖАЛЕЕТЕ, что создали - СЧЁТЧИК.
За СЧЁТЧИК БУДУ БОРОТЬСЯ ДОР ПОЛНОГО УВОЛЬНЕНИЯ, ТУТ, Для меня ВАЩЕ - ТОЛЬКО ТАК и НИ КАК
0
7 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 4
03.01.2016, 17:03  [ТС] 8
Спасибо)
Вообще, планируется база с основным назначением которой - разбивка по областям (назначениям и т.п.). Чтобы блоки литературы по категориям формировались! На первом место качественный отбор, не количественный!
Миниатюры
Правильная организация связей между тремя таблицами  
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
03.01.2016, 17:20 9
Таблицы Сводный и Тип Идания: точно не перепутали, какая а стороне 1, а какая - много?
1
7 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 4
03.01.2016, 17:39  [ТС] 10
Пойдем обратным путем, кнопка "история искусства" внутри этого массива есть еще разбивка на темы (этой таблицы пока нет ), все это конечно надо привязать к типу издания (носитель информации ).
Или пойти проще область назначения - потом тип носителя и потом все остальное ��
0
7 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 4
03.01.2016, 17:57  [ТС] 11
обновленный вариант
Миниатюры
Правильная организация связей между тремя таблицами  
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
04.01.2016, 11:41 12
Цитата Сообщение от Barma Посмотреть сообщение
надо привязать к типу издания (носитель информации ).
Значит, точно перепутал: "Тип издания" должен быть на стороне "1", а "Сводная" на стороне "много".
0
133 / 148 / 64
Регистрация: 27.06.2013
Сообщений: 536
09.01.2016, 12:14 13
Цитата Сообщение от PuhKMV Посмотреть сообщение
За СЧЁТЧИК БУДУ БОРОТЬСЯ ДОР ПОЛНОГО УВОЛЬНЕНИЯ, ТУТ, Для меня ВАЩЕ - ТОЛЬКО ТАК и НИ КАК
Пример возможностей использования счетчика. ВАЩЕ.
Миниатюры
Правильная организация связей между тремя таблицами  
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.01.2016, 12:46 14
Цитата Сообщение от Kapytan Посмотреть сообщение
Пример возможностей использования счетчика. ВАЩЕ.
Негативные эмоции понятны. А что сказать-то хотели?

Не по теме:

Головой можно разбить кирпич. Примеры видели. Но голову и кирпич желательно использовать иначе :-)

0
Модератор
Эксперт MS Access
11960 / 4828 / 779
Регистрация: 07.08.2010
Сообщений: 14,140
Записей в блоге: 4
09.01.2016, 14:14 15
видимо то, что щи повторяются 5 раз
0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.01.2016, 14:52 16
Вот тему зафлудили ))) Главное, топикстартера она давно уже не интересует )))

Kapytan, в хорошо разработаной таблице, исключающей многократное повторение одинаковых по смыслу записей путем создания уикальных индексов (возможно, по нескольким полям) - счетчик тоже имеет право на жизнь; а причиной показанного вами ужаса - не счетчик, а кривые руки разработчика.

Добавлено через 6 минут
На мой взгляд, основным критерием при решении вопроса "делать ли в даной таблице ключевое поле счетчиком или не делать" является "есть ли у это таблицы целочисленный естественный ключ или нет". Совершнно очевидно, что в таблице блюд естественный ключ НЕ целочислнный. Так что суррогатный клич типа счетчик вполе уместен. Но не заменяет наобходимость добалвения уникального индеса по составному естественому ключу.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.01.2016, 17:17 17
Вот видите, Kapytan, у базовиков-акцесников мгновенно ответ нашелся на все недоумения. Собственно, Вам его говорили и раньше - уникальный ключ в справочнике на текстовое поле.

Не по теме:

В сети встречал проработки о вероятности возникновения ошибок при вводе длинных текстов. Сейчас уже не вспомню где, но мой личный опыт говорит, что при длине строки больше 100 символов вероятность ошибки ассимптотически приближается к 1. Т.е. ошибки неизбежны. Так зачем же создавать систему, которая будет обязательно генерировать ошибки с большой вероятностью? Когда эту вероятность можно уменьшить достаточно простыми способами, тем же самым числовым кодом (счетчиком).

0
шапоклякистка 8-го дня
3679 / 2239 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
09.01.2016, 17:33 18
Цитата Сообщение от mobile Посмотреть сообщение
В сети встречал проработки о вероятности возникновения ошибок при вводе длинных текстов. Сейчас уже не вспомню где, но мой личный опыт говорит, что при длине строки больше 100 символов вероятность ошибки ассимптотически приближается к 1. Т.е. ошибки неизбежны. Так зачем же создавать систему, которая будет обязательно генерировать ошибки с большой вероятностью? Когда эту вероятность можно уменьшить достаточно простыми способами, тем же самым числовым кодом (счетчиком).
Не поняла, 1) как введение счетчика уменьшает вероятность опечатки?
2) как вероятность опечатки влияет на исходый предмет спора: "должен ли быть ключ обязательно всегда именно счетчиком, или он может быть просто числом (которое вводит пользователь)"?
0
Эксперт MS Access
2833 / 1375 / 215
Регистрация: 13.05.2011
Сообщений: 4,217
09.01.2016, 18:14 19
Попробую порассуждать:
Цитата Сообщение от texnik-san Посмотреть сообщение
Не поняла, 1) как введение счетчика уменьшает вероятность опечатки?
У счетчика не может быть повторов чисел и по этому каждая запись уникальна, т.е. единственна в своем роде. Можно сделать две одинаковые записи, но если у них будут разные ключевые поля, которые как таковые не несут информации, то они уже и разные;
Цитата Сообщение от texnik-san Посмотреть сообщение
2) как вероятность опечатки влияет на исходый предмет спора: "должен ли быть ключ обязательно всегда именно счетчиком, или он может быть просто числом (которое вводит пользователь)"?
может быть просто числом, но однажды Вы устанете искать, то самое число, которое не введено для работы.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.01.2016, 18:38 20
Цитата Сообщение от texnik-san Посмотреть сообщение
Не поняла, 1) как введение счетчика уменьшает вероятность опечатки?
Не ищите здесь скрытый смысл. Это немного о другом и недаром в "не по теме". Это как бы аллегория на тему. Смысл в том, что длинный текст так или иначе приводит к ошибке.
0
09.01.2016, 18:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2016, 18:38
Помогаю со студенческими работами здесь

Создание связей между таблицами
Здравствуйте, очень сильно туплю, и понимаю это, но все же как связать таблицы между собой и...

Создание связей между таблицами
Здравствуйте. Помогите мне пожалуйста создать связи между таблицами. Сами таблицы я кое как создал...

Несколько связей между двумя таблицами
Здравствуйте! Дали задание по БД, вот схема Никак не могу сделать несколько связей между...

Программная реализация связей между таблицами
Здравствуйте подскажите как программно разорвать / создать связь между двумя таблицами (ключевое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru