Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
2 / 2 / 1
Регистрация: 28.03.2014
Сообщений: 53
1

Правильно подойти к структуре базы - разные единицы измерения в одном столбце

14.08.2014, 17:26. Просмотров 3466. Ответов 24
Метки нет (Все метки)


Я хочу создать таблицу в которой будет наименование и ед. изм. и другие столбцы. Вопрос чтобы мне можно было выбирать ранее используемые ед изм. (которые повторяются) в access нужно создавать еще одну таблицу и потом сослаться на нее в поле ???? или можно в access можно как-то сделать чтобы выпадали ранее введеные ед. изм. в этом же столбце????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.08.2014, 17:26
Ответы с готовыми решениями:

Разные цены на один товар, но разные единицы измерения
Доброго времени суток! Конфигурация УТ10.3, есть ли возможность установить разные цены на один и...

Значение имеет единицы измерения Unitless, а должно иметь единицы измерения длина
Странно, что проблема с единицами измерения, хотя имею дело с матрицами и числами без единиц...

Почему у смартфонов и мониторов единицы измерения разрешений разные
Вот делаю игру на libgdx под андроид, максимальное разрешение 1920х1080. Не пойму почему у моего...

Единицы измерения
Не подскажете в функции elem.setLayoutParams(new LinearLayout.LayoutParams(100, 40)); значения 100...

24
7903 / 4949 / 546
Регистрация: 27.03.2013
Сообщений: 17,761
14.08.2014, 17:49 2
Цитата Сообщение от gorbunov-anton Посмотреть сообщение
...и потом сослаться на нее в поле...
На мой незамысловатый взгляд Вы правильно мыслите, в основном так и нужно делать, по крайней мере, я так и поступаю в 99% случаев.
0
72 / 46 / 9
Регистрация: 24.03.2014
Сообщений: 470
14.08.2014, 23:08 3
Как вам и посоветовали, создайте таблицу-справочник. Тогда ее можно использовать в разных полях. Ну а дальше можно создать форму для внесения новых данных в эту таблицу. Таким образом можно легко обновлять эти данные.
0
12 / 12 / 1
Регистрация: 06.11.2013
Сообщений: 103
15.08.2014, 10:44 4
Можно ещё использовать способ указанный во вложении. Но при таком способе данные изменить или добавить можно только в конструкторе, т.е. простой пользователь изменить не сможет, да и не нельзя его туда пускать . Но когда данные постоянны можно и так сделать. Например, изделия, всегда будут в штуках.
0
Миниатюры
Правильно подойти к структуре базы - разные единицы измерения в одном столбце  
7903 / 4949 / 546
Регистрация: 27.03.2013
Сообщений: 17,761
15.08.2014, 12:03 5
Иногда, что бы не создавать таблицу, (Типа не охота из за моей паталогической лени) , то у поля со списком в источнике строк указываю данное поле и группирую его.
Если вношу новое значение, то его после обновления ужо можно выбрать в списке.
В примере смотри поля со списком - Состав, Должность, Специализация
0
Вложения
Тип файла: rar Сотрудники.rar (41.9 Кб, 13 просмотров)
2 / 2 / 1
Регистрация: 28.03.2014
Сообщений: 53
16.08.2014, 17:17  [ТС] 6
А я правильно понял, если я не задам таблице ключевое поле то я уже не смогу сослаться на данные этой таблицы из другой таблицы ?? Я так понял что в access если я например хочу связать два столбца с названиями материалов в разных таблицах то сначала я обязательно должен связать ключевые поля, а уже потом добавить поля с материалами ???
0
919 / 375 / 101
Регистрация: 21.03.2013
Сообщений: 989
18.08.2014, 18:45 7
gorbunov-anton,
1. Связать можно любые поля из разных таблиц с одинаковыми типами данных!!!
2. а ключевое поле позволяет связывать уникальные данные из одной таблицы с данным из другой таблицы, где эти данные могут встречаться много раз.
3. Кроме того в поле можно использовать подстановку данных из другого поля таблицы используя запрос и здесь даже связь таблиц не обязательна
Все зависит от поставленной задачи.
0
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
18.08.2014, 22:00 8
Единицы измерения можно в одной таблице новым полем указать с наименованием, не заморачиваься с новой таблицей. Уж не такая у них длина (3-4 символа), на скорость и размер базы не повлияет
1
2 / 2 / 1
Регистрация: 28.03.2014
Сообщений: 53
18.10.2014, 15:36  [ТС] 9
То есть получается если мне нужно брать данные из одной таблицы в другую я просто создаю запрос. Тогда я пока не совсем понял зачем нужны связи, что они дают в принципе для системы ???
0
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
18.10.2014, 19:58 10
Цитата Сообщение от gorbunov-anton Посмотреть сообщение
зачем нужны связи
Я их строю исключительно в запросе. А аксесе не вижу смыла предварительно их настраивать, это мое мнение
0
Эксперт MS Access
16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
18.10.2014, 20:26 11
Цитата Сообщение от emenem97 Посмотреть сообщение
А аксесе не вижу смыла предварительно их настраивать, это мое мнение
И как же поддерживается тогда ссылочная целостность базы данных?
1
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
18.10.2014, 20:32 12
ltv_1953, аксес как БД не рассматривал никогда. Аксес идеальный инструмент для обработки данных, который можно самостоятельно изменить за 5 минут под свои нужны без участия разработчиков, не более. Поэтому и пишу - это мое мнение

Добавлено через 2 минуты
Цитата Сообщение от ltv_1953 Посмотреть сообщение
ссылочная целостность
Что имеете ввиду под сылочная" ?
0
Эксперт MS Access
16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
18.10.2014, 20:40 13
"Для соблюдения ссылочной целостности требуется, чтобы любое поле в таблице, объявленное внешним ключом, могло содержать только значения из поля первичного ключа родительской таблицы …"
2
Эксперт MS Access
2820 / 1363 / 214
Регистрация: 13.05.2011
Сообщений: 4,181
18.10.2014, 20:43 14
Цитата Сообщение от gorbunov-anton Посмотреть сообщение
я пока не совсем понял зачем нужны связи
Цитата Сообщение от emenem97 Посмотреть сообщение
не вижу смыла предварительно их настраивать,
как правильно пояснить свою мысль не знаю, но попробую: а как же, если допустим надо удалить запись из таблицы, в которой уже есть данные из дочерней таблицы таблицы, которая в свою очередь берет данные из родительских таблиц. Если связи нет, то запись просто удалится и все. При этом записи, которые были в средней таблице, как бы потеряются (они будут, но ни где в запросах и отчетах они уже не покажутся). Т.е. возможен такой вариант: создали заказ (одна дочерняя таблица). На этот заказ списали материал и протабелировали работников. Кто-то каким-то образом решил стереть заказ. И тогда при стирании заказа произойтем потеря списанного материала и людей. В случае же со связями это не произойдет. Программа скажет, что заказ связан с другими таблицами, т.е. сначало удалите списанный материал и уберите протабелированных людей. Как-то так. У меня такое было с первым случаем, поэтому всегда пользуюсь связями.
0
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
18.10.2014, 21:06 15
Вячеслав Я, есть тригеры для этих целей (но не в аксесе)

Добавлено через 1 минуту
ltv_1953, Вы реально используете аксес как БД с первичным и внешним ключами ?
0
Эксперт MS Access
2820 / 1363 / 214
Регистрация: 13.05.2011
Сообщений: 4,181
18.10.2014, 21:10 16
emenem97, про триггеры почитал. Думаю, что на моем уровне с ключами для меня понятнее и другим может быть тоже? Вот повышу свои знания и тогда может быть начну пользоваться триггерами.
0
Эксперт MS Access
16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
18.10.2014, 21:13 17
Использую. Есть же общие принципы для реляционных баз данных. Более того, у меня и несколько баз mdb работают в разных организациях в качестве основных. Для 20-30 пользователей достаточно дешевый вариант и по разработке и по внедрению.
Цитата Сообщение от emenem97 Посмотреть сообщение
есть тригеры для этих целей (но не тв аксесе)
А вот о триггерах не надо, целостность ими поддерживалась только в древних версиях, типа SQL 95. И аналог триггеров есть в 2010 - макросы данных.
4
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
18.10.2014, 21:33 18
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Использую
спасибо за инфо, удивлен.
Цитата Сообщение от ltv_1953 Посмотреть сообщение
А вот о триггерах не надо, целостность ими поддерживалась только в древних версиях, типа SQL 95. И аналог триггеров есть в 2010 - макросы данных.
ltv_1953, разве проблема написать тригер, который будет проверять заданные условия и только после этого будет разрешать/запрещать удалять/изменять даннные в БД?
0
Эксперт MS Access
16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
18.10.2014, 21:53 19
Цитата Сообщение от emenem97 Посмотреть сообщение
ltv_1953, разве проблема написать тригер, который будет проверять заданные условия и только после этого будет разрешать/запрещать удалять/изменять даннные в БД?
Хотите делать триггерами - делайте. Но я, лично, всегда начинаю смотреть базу данных со схемы, и если она без связей ... .
3
7903 / 4949 / 546
Регистрация: 27.03.2013
Сообщений: 17,761
18.10.2014, 23:32 20
Цитата Сообщение от ltv_1953 Посмотреть сообщение
...лично, всегда начинаю смотреть базу данных со схемы...
На 5000 % поддерживаю. +++
Без схемы фиг чего разберешь если табличек 20-30. а то и больше.
Типа замысел не понятен, или в 25 раз больше времени на это затратишь.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2014, 23:32

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Единицы измерения
Доброго времени суток, уважаемые форумчане. Подскажите, как можно просто показать единицы...

Единицы измерения
Мне нужно что результат считало в кило-ваттах, а считает в ваттах. Что делать? И как задать...

единицы измерения
Дана величина А, выражающая объем информации в байтах. Перевести А в более крупные единицы...

Единицы измерения
Обязательно ли сейчас пользоваться em, rem или можно просто px а потом просто сделать адаптацию?...

Единицы измерения см мм
При создании примитивов используются свои единицы измерения . Есть ли возможность задавать свои ,...

Единицы измерения Unitless
Проблема заключается в том что маткад не хочет правильно считать единицы измерения. На скрине видно...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.