powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Связи и ключи в БД.
17 сообщений из 17, страница 1 из 1
Связи и ключи в БД.
    #39718831
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всех приветствую. БД проектирую впервые, никакого опыта в этом не имел, параллельно читаю книгу Гурвица. Основная задача БД - отслеживать сроки аттестаций.
Если кто сможет дать консультацию буду очень благодарен. Работаю в access 2007.
Схему БД приложил скриншотом.
Вопросы у меня такие:
1. При проектировании во всех таблицах оставлены счетчики в качестве ключевых полей - правильно ли это, будет ли работать. (составных ключей не применял). Или нужно формировать ключи из логических полей?
2. Связи в таблицах сделал с помощью мастера подстановок, но потом на этом форуме прочел, что так делать нельзя (хотя, вроде, делают), почему? Как перейти от мастера подстановок к запросам?
Пример:
Занятая должность формируется из 5 таблиц:
Справочник отделов (SP_department) и Справочник специальностей (SP_position) формируют таблицу вакансий, а затем Вакансии (Vacancies) с Работник (Workers) формируют занятую должность.
Здесь сложность в том, что при подстановке в таблицу Должность (Position) в поле id_vacancy вставляются числа, а названия вакансий я не вижу. Как этого избежать?
Заранее спасибо.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718870
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skamp, я вообще названия ключей делаю одинаковыми (бывают сложности, зато помнить не надо при составлении запросов/рекордсетов), добавил бы в positions логическое поле актуальности вакансии (их будет несколько одинаковых (архива не вижу-значит все будет в этой таблице)). по поводу связей - вот при переходе к запросам и станет понятно почему так делать не рекомендуется. (потому что видя одно нужно будет предполагать другое (другой тип данных, значение)). Читать лучше Гетца.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718891
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. сейчас всех мастеров подстановок стоит убрать? Но ведь связь может быть только ключевого поля с другим, т.е. в таблице должно быть несколько ключей? По поводу архива: я еще хочу сделать таблицу увольнений, но пока не знаю как это организовать, чтобы при этом освобождалась вакансия. Еще вопрос: в таблице vacancies есть поле number_vacancies (число вакансий), как сделать так, чтобы при добавлении людей (текст) их не оказалось больше, чем вакансий в отделе?
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718925
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skamp, всю обработку событий нужно делать в формах. таблицы только для хранения.
в таблице один ключ. и может быть несколько индексов.
мастер подстановки (поля со списками) убрать, а связи оставить конечно.
изучить рекордсеты, sql и можно уже кодить. схема данных норм для старта - потом все равно придется править.
по поводу number_vacancies (число вакансий) - сделайте столбец Shtat, куда занесите штат по этой вакансии.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718926
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SkampТ.е. сейчас всех мастеров подстановок стоит убрать?Вы же не собираетесь вводить данные прямо в таблицы, собираетесь для этого делать формы? или нет?
Мастер подстановок собсно в основном решает две задачи.
Первая - облегчает ввод данных непосредственно в таблицы. Но этим лучше не заниматься.
Вторая - организует соответствующие списки при создании комбо/листбоксов в формах. Но это и руками можно сделать.
В общем, это для мышкотыков, которые от одного предположения, что придётся писать код, впадают в кому. Забудь про него...
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718945
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaВы же не собираетесь вводить данные прямо в таблицы, собираетесь для этого делать формы? или нет?

)) Наверное, да. Представления о том, какими должны быть формы я пока не имею. Все имеющееся я вытянул из огромной экселевской простыни. Данные для пробного варианта вводил вручную непосредственно в таблицы.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718949
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleckoпо поводу number_vacancies (число вакансий) - сделайте столбец Shtat, куда занесите штат по этой вакансии. - как это должно выглядеть? Что значит штат - число, буква?
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718962
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skamp, это число, вполне возможно в таблице SP_Position. Акс 2007 работает со всеми числами как Long, поэтому можно не заморачиваться особо с integer, byte-все равно он переводит в них из Long, так что тип очевиден Long, значение по умолчанию 1.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718989
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleckoтип очевиден Long, значение по умолчанию 1. - в таблицу Position вставить доп.столбец (это уже будет занятая вакансия) с значением 1, а сумма не должна превышать значения в number_vacancies? Про какую книгу Гетца речь, можно с названием?
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39718994
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skamp,

Первичный ключ просто id НЕ id_books

Внешний ключ: learning_center_id НЕ learning_centerS_id
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39719025
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skampaleckoтип очевиден Long, значение по умолчанию 1. - в таблицу Position вставить доп.столбец (это уже будет занятая вакансия) с значением 1, а сумма не должна превышать значения в number_vacancies? Про какую книгу Гетца речь, можно с названием?
нет не так.
Сначала идет описание штата (штатное расписание) - доярок - 5 ед., программистов - 20 ед. - вот эти числа и ставятся в поле Schtat-признак вакансии.
потом идут заявки на вакансию - доярок - 2 ед., программистов - 5 ед. - это ставится в число вакансий.
и проверяется чтоб количество заявок (5 программистов) не было больше штата (штатного расписания)-20 ед.
по книгам (сугубо личное мнение)
Кен Гетц - Программирование на Visual Basic 6 и VBA. Руководство разработчика
Разработка настольных приложений в Access 2002.Для профессионалов.Литвин.Гетц.
допом можно ещё

Разработка настольных приложений в Access 2002.Для профессионалов.Литвин.Гетц.2002г. т.02
от других авторов более менее
Access.2007.VBA.Programmers.Reference

для начинающих книг хороших не вспомню, ну может вот Гурвиц,
Гурвиц Г.А. - Microsoft Access 2010. Разработка приложений на реальном примере (Профессиональное программирование) - 2010
SQL. Руководство по изучению языка
Боб Виллариал Программирование Access в примерах
Вирджиния Андерсен Базы данных Microsoft Access проблемы и решения
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39719172
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,
Не понимаю логику отношения заявок и штатного расписания. У меня получается из справочника специальностей и справочника отделов формируется вакансия, т.е. свободное место в отделе, а в таблице Position свободная вакансия соотносится с конкретным работником, формируя должность. Я не понял, где в вашем примере среди заявок отыскать конкретного работника. И, если я не прав в своем построении, то поправьте, пожалуйста, почему? Кстати, вижу книги вы советуете по программированию - я программированием никогда не занимался и access взял за основу потому, как подумал, что в нем можно без программирования построить БД с интерфейсом удобоваримую, я ошибался?))
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39719185
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skampalecko,
access взял за основу потому, как подумал, что в нем можно без программирования построить БД с интерфейсом удобоваримую, я ошибался?))

без труда не выловишь рыбку из аксесс
даже для простейшей базы нужна какая-то обработка
база со штатным расписанием --к простейшим не относится
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39719196
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skamp, можно создать без программирования базу, более того мне удалось это сделать-исключительно на запросах (добавление записей в таблицы через открытие формы в режиме добавления и пр.)- я даже схему данных здесь выкладывал 20288543 .
Проблемы появились когда она "взлетела"- пришлось все переводить на vba и создавать по новой.
А вообще есть пословица, приписываемая Дж.Вашингтону: "Если мне поручат за 8 часов срубить дерево - 6 из них я буду точить топор" (хотя перефразирую я её по другому но это не суть важно)- считаю она очень подходит к данному случаю.
Потому лучше сначала почитайте пусть даже того же Гурвица - потому что сначала, к сожалению когда закладывается фундамент знаний мало, а потом уже исправлять дольше чем проектировать заново.
По поводу вакансий.
Сначала описывается структура объекта, предприятия. и потом уже в её рамках работаем, это значит что вакансия не может появиться "из ниоткуда"-её нужно описать, сначала, в процессе, ещё когда; но сначала задаются параметры: количество, требования к опыту и пр., а потом уже работаем - сколько нужно ,сколько принято, и пр.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39719693
Skamp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Итак, если я правильно все понял, то итог на данный момент такой:
1. Удалить все мастера подстановок.
2. Удалить весь контент из таблиц (т.к. часть данных я уже занес в качестве пробы)
3. Редактировать счетчики, назначить их ключевыми полями.
4. Сделать связи через счетчики.
5. Читать про программирование и ваять запросы и формы.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39719779
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skamp, данные удалять не надо, удалить подстановки. 3,4 вроде сделаны. как при изучении дойдете до рекордсетов - можно начинать строить базу.
...
Рейтинг: 0 / 0
Связи и ключи в БД.
    #39720163
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Связи и ключи в БД.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]