2 / 2 / 1
Регистрация: 28.03.2014
Сообщений: 53
|
|
1 | |
Правильно подойти к структуре базы - разные единицы измерения в одном столбце14.08.2014, 17:26. Просмотров 3466. Ответов 24
Метки нет Все метки)
(
Я хочу создать таблицу в которой будет наименование и ед. изм. и другие столбцы. Вопрос чтобы мне можно было выбирать ранее используемые ед изм. (которые повторяются) в access нужно создавать еще одну таблицу и потом сослаться на нее в поле ???? или можно в access можно как-то сделать чтобы выпадали ранее введеные ед. изм. в этом же столбце????
0
|
|
14.08.2014, 17:26 | |
Разные цены на один товар, но разные единицы измерения
Почему у смартфонов и мониторов единицы измерения разрешений разные Единицы измерения |
|
7903 / 4949 / 546
Регистрация: 27.03.2013
Сообщений: 17,761
|
|
14.08.2014, 17:49 | 2 |
На мой незамысловатый взгляд Вы правильно мыслите, в основном так и нужно делать, по крайней мере, я так и поступаю в 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
|
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 |
Я их строю исключительно в запросе. А аксесе не вижу смыла предварительно их настраивать, это мое мнение
0
|
![]() 16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
|
|
18.10.2014, 20:26 | 11 |
1
|
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
18.10.2014, 20:32 | 12 |
ltv_1953, аксес как БД не рассматривал никогда. Аксес идеальный инструмент для обработки данных, который можно самостоятельно изменить за 5 минут под свои нужны без участия разработчиков, не более. Поэтому и пишу - это мое мнение
Добавлено через 2 минуты Что имеете ввиду под сылочная" ?
0
|
![]() 16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
|
|
18.10.2014, 20:40 | 13 |
"Для соблюдения ссылочной целостности требуется, чтобы любое поле в таблице, объявленное внешним ключом, могло содержать только значения из поля первичного ключа родительской таблицы …"
2
|
![]() 2820 / 1363 / 214
Регистрация: 13.05.2011
Сообщений: 4,181
|
|
18.10.2014, 20:43 | 14 |
как правильно пояснить свою мысль не знаю, но попробую: а как же, если допустим надо удалить запись из таблицы, в которой уже есть данные из дочерней таблицы таблицы, которая в свою очередь берет данные из родительских таблиц. Если связи нет, то запись просто удалится и все. При этом записи, которые были в средней таблице, как бы потеряются (они будут, но ни где в запросах и отчетах они уже не покажутся). Т.е. возможен такой вариант: создали заказ (одна дочерняя таблица). На этот заказ списали материал и протабелировали работников. Кто-то каким-то образом решил стереть заказ. И тогда при стирании заказа произойтем потеря списанного материала и людей. В случае же со связями это не произойдет. Программа скажет, что заказ связан с другими таблицами, т.е. сначало удалите списанный материал и уберите протабелированных людей. Как-то так. У меня такое было с первым случаем, поэтому всегда пользуюсь связями.
0
|
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
18.10.2014, 21:06 | 15 |
Вячеслав Я, есть тригеры для этих целей (но не в аксесе)
Добавлено через 1 минуту ltv_1953, Вы реально используете аксес как БД с первичным и внешним ключами ?
0
|
![]() 2820 / 1363 / 214
Регистрация: 13.05.2011
Сообщений: 4,181
|
|
18.10.2014, 21:10 | 16 |
emenem97, про триггеры почитал. Думаю, что на моем уровне с ключами для меня понятнее и другим может быть тоже? Вот повышу свои знания и тогда может быть начну пользоваться триггерами.
0
|
![]() 16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
|
|
18.10.2014, 21:13 | 17 |
Использую. Есть же общие принципы для реляционных баз данных. Более того, у меня и несколько баз mdb работают в разных организациях в качестве основных. Для 20-30 пользователей достаточно дешевый вариант и по разработке и по внедрению.
А вот о триггерах не надо, целостность ими поддерживалась только в древних версиях, типа SQL 95. И аналог триггеров есть в 2010 - макросы данных.
4
|
1298 / 504 / 63
Регистрация: 09.08.2012
Сообщений: 2,056
|
|
18.10.2014, 21:33 | 18 |
спасибо за инфо, удивлен.
ltv_1953, разве проблема написать тригер, который будет проверять заданные условия и только после этого будет разрешать/запрещать удалять/изменять даннные в БД?
0
|
![]() 16262 / 6722 / 1459
Регистрация: 21.06.2012
Сообщений: 12,403
|
|
18.10.2014, 21:53 | 19 |
Хотите делать триггерами - делайте. Но я, лично, всегда начинаю смотреть базу данных со схемы, и если она без связей ... .
3
|
7903 / 4949 / 546
Регистрация: 27.03.2013
Сообщений: 17,761
|
|
18.10.2014, 23:32 | 20 |
На 5000 % поддерживаю. +++
Без схемы фиг чего разберешь если табличек 20-30. а то и больше. Типа замысел не понятен, или в 25 раз больше времени на это затратишь.
0
|
18.10.2014, 23:32 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь. Единицы измерения Единицы измерения единицы измерения Единицы измерения Единицы измерения см мм Единицы измерения Unitless Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |