четверг, 26 мая 2011 г.

Проектирование базы для заметника

Всем привет. Наконец-то у меня дошли руки до своего заметника (который пока живет только на бумаге). Сегодня я загрузился в виндовс и буду проектировать базу данных для этой программы. Делать я это буду в MS Access (как уже говорил) – буду в ней создавать таблички и связывать их друг с другом.

Кстати, как раз недавно родственники из Новосибирска попросили поискать информацию про ремонт квартир в их городе (можно было бы это записать в заметник, но – пока приходится на бумажку писать). Ремонт квартир найти оказалось довольно просто, так как - сразу же нашел в интернете данный сайт. Кто с Новосиба - заходите, на сайте можно и прайс посмотреть, и отзывы о этой компании почитать.

Итак – вернемся к заметнику. Необходимо будет создать основную таблицу, в которой будут собраны все сведения (иногда – в форме ключей-ссылок). Именно в этой таблице должен хранится текст самой заметки. Эту таблицу я решил назвать TB_NOTE.

TB_NOTE:

Я буду использовать в этом проекте суррогатные числовые ключи, поэтому – у каждой заметки будет увеличивающийся счетчик в качестве первичного ключа. Это поле я назову просто – ID_NOTE. В MS Access надо дать этому полю тип «Счетчик» - он будет автоматически увеличиваться при добавлении очередной записи. Дальше – надо же указывать и время создания заметки – для этого нужно создать поле с типом даты/времени. Это поле я назову DATE_NOTE, тип – как вы поняли, дата/время. Но – нам время (я решил так сделать) – не особенно важно, главное – дата. Поэтому – необходимо использовать краткий формат даты (для этого перейдите в свойства поля в нижней части экрана), и там, напротив свойства «Формат поля» выберите – Краткий формат даты (это дата вида 12.12.2012). Можно маску ввода настроить, если захотите. Теперь – настал черед самой заметки. Это поле я назвал NOTE. Оно будет текстовым, максимально можно туда ввести 255 значений.


Теперь – вот о чем хочу сказать. Я решил добавить в заметник два значения, которые будут характеризовать заметку. Это будут – состояние заметки (принял я ее к сведению, выполнил ли дело и тд). Статус заметки – ее важность (очень серьезно, не очень и так далее). И – проект, для которого создана эта заметка. Для этого я создам три отдельные таблицы, а в моей основной (TB_NOTE) создам три числовых поля, которые будут внешними ключами на соответствующие таблицы. За статус будет отвечать поле ID_STATE, за состояние – ID_SOST, за проект – TB_PROJECT (назвал так чтоб проще отличать их друг от друга).

В результате в таблице TB_NOTE получилась такая (окно конструктора MS Access, обязательно пишите комментарии):


Остальные таблицы:

Дальше остались очень простые три таблицы: TB_SOST, TB_STATE, TB_PROJECT. Каждая из этих таблиц будет состоять из числового суррогатного ключа (с типом данных счетчик), который будет называться ID_SOST, ID_STATE, ID_PROJECT соответственно. И – следующее поле (текстового типа) будет описывать либо состояние (SOST), либо статус (STATE), либо проект (PROJECT) – все просто, надеюсь – скриншот даже приводить не надо.

В результате у меня получились следующие четыре таблицы:


Пожалуй – связи между этими таблицами проставлю в следующий раз, а то сейчас надо идти мне. Так что – до связи.

2 комментария:

  1. Добрый день Павел.
    Мое предложение (можно и не прислушиваться) изменить названия таблиц:
    ID_STATE -> ID_IMP(ortance)
    ID_SOST -> ID_STATE
    иначе, получается смесь французского с нижегородским. ;)

    ОтветитьУдалить
  2. Названия, действительно, не очень английские. Но - смысл вот в чем: СТАТус - STATe, СОСТОяние - SOST. Сделал так чтоб проще было.

    ОтветитьУдалить