Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Множественные значения полей


Автор: Keeper89 14.4.2009, 22:15
Доброго времени суток!

Имеется БД Access, 2 таблицы из которых - Оборудование и Кабинет. В таблице Оборудование содержится список всего оборудования, 1 столбец. В таблице Кабинет есть соответствующее поле, где указывается имеющееся оборудования.
Вопрос в следующем: можно ли в поле Кабинет.Оборудование занести список значений из таблицы Оборудование. (Например, чтобы в конкретном кабинете №12 было указано: стол, стул, ПК).

Заранее спасибо.

Автор: Veetkoosz 14.4.2009, 23:35
Для такой модели следует наоборот в таблице Оборудование создать поле КабинетИД.
Тогда в каждом кабинете может быть много оборудования (То есть несколько записей в таблице Оборудование с одинаковым значением поля КабинетИД). Это в случае, что каждой единице оборудования соответствует запись в таблице Оборудование.

Если же в таблице Оборудование содержится только тип оборудования (например, на фирме 10 проекторов, которым соответствует одна запись "ПРОЕКТОР" в таблице Оборудование), тогда следует завести новую таблицу ОборудованиеКабинета с полями Номер_Кабинета, Номер_Оборудования и заносить в эту новую таблицу связки кабинета и оборудования.

В общем, азы построения БД. Почитайте...

Автор: Keeper89 14.4.2009, 23:54
Цитата(Veetkoosz @  14.4.2009,  23:35 Найти цитируемый пост)
В общем, азы построения БД. Почитайте... 

То, что вы объяснили ежу понятно, интересует именно этот вопрос про множество значений поля. Не хотелось бы создавать таблицу для каждого кабинета.

Автор: Akina 15.4.2009, 07:55
Сущности Кабинет и Оборудование соотносятся как много-ко-много. Значит, три таблицы: 
Оборудование: ИД, Наименование, ...
Кабинет: ИД, номер, ...
Размещение: ИД, ОборудованиеИД, КабинетИД, ..

Добавлено через 31 секунду
А азы построения БД всё-таки прочитайте. Хоть раз в жизни это надо сделать.

Автор: Keeper89 15.4.2009, 19:25
Цитата(Akina @  15.4.2009,  07:55 Найти цитируемый пост)
А азы построения БД всё-таки прочитайте. Хоть раз в жизни это надо сделать. 

Вроде специалисты, а вопроса не слышите. Вопрос звучал как "можно или нет", а то что вы указываете мною уже давно спроектировано.

З.Ы. Еще раз - азы знаю, не стоит ими по сто раз тыкать.

Автор: Akina 15.4.2009, 20:00
Можно. Уголовный кодекс не запрещает.

Автор: Keeper89 15.4.2009, 22:20
Цитата(Akina @  15.4.2009,  20:00 Найти цитируемый пост)
Можно. Уголовный кодекс не запрещает. 

Спасибо.

Автор: bopoha 16.4.2009, 10:02
Цитата(Keeper89 @  14.4.2009,  22:15 Найти цитируемый пост)
Вопрос в следующем: можно ли в поле Кабинет.Оборудование занести список значений из таблицы Оборудование. (Например, чтобы в конкретном кабинете №12 было указано: стол, стул, ПК).


В одно поле занести несколько значений Access не позволяет. Для этого создаются таблицы связей, как указал Akina.

Автор: Akina 16.4.2009, 11:16
Цитата(bopoha @  16.4.2009,  11:02 Найти цитируемый пост)
В одно поле занести несколько значений Access не позволяет. Для этого создаются таблицы связей

Ну как сказать... 
Во-первых, находятся гении, которые запихивают все значения в одно текстовое поле, разделяя его чем-нить вроде запятых. Потом, правда, изумляются, что элементарный запрос на поиск или сортировка превращаются в некое трёхэтажное безобразие, ещё и тормозящее безбожно.
Во-вторых (убил бы кретинов!), прогеры из Некрософта ввели в Аксесс-2007 возможность создания однотабличного много-ко-много... коню понятно, что где-то они прячут промежуточную служебную таблицу, но доступа к ней не дают вообще, потому использование этой фичи есть безусловный вред, расхолаживающий программиста средней руки и безнадёжно портящий начинающего - опытный-то посмотрит, хмыкнет, пошлёт в даль туманную и сдлает как положено.

Автор: Keeper89 22.4.2009, 16:50
Цитата(bopoha @  16.4.2009,  10:02 Найти цитируемый пост)
В одно поле занести несколько значений Access не позволяет. Для этого создаются таблицы связей, как указал Akina. 

Спасибо, как раз то, что я хотел услышать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)