Конструирование таблиц для базы данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Конструирование таблиц для базы данных



 

Создание таблицы «Кадры».

Таблица «Кадры» нужна для хранения данных о сотрудниках фирмы. Разработку таблицы будем производить в режиме конструктора (рис.2).

Первое поле таблицы - «Код сотрудника». В это поле можно записывать индивидуальный числовой код сотрудников. При этом не имеет значения, какой конкретный код имеет тот или иной сотрудник, но важно, чтобы два сотрудника не имели одинаковых кодов.

В самой первой строке в колонке Имя поля напишем Код сотрудника. Тип данных для него – Счетчик. Описание – Код сотрудника фирмы. После того, как выбран тип данных, СУБД определяет, какие свойства должны быть у данного поля. По умолчанию размер поля счетчика длинное целое – это означает, что для хранения данных, в этом поле выделено 4 байта (диапазон чисел, которые могут быть записаны в это поле, от -2 147 483 648 до 2 147 483 647). Способ генерации новых значений для поля с типом данных счетчик определен по умолчанию, как последовательный.

Рис.2. Окно конструктора таблиц

Свойство подпись – определяет подпись этого поля в форме. Его содержимое может совпадать с описанием поля.

Чтобы запретить ввод в поле повторяющихся значений, определим наше поле как индексированное (Да, совпадения не допускаются). Индексированные поля ускоряют поиск и сортировку в данном поле (столбце)

Поле код сотрудника будет в этой таблице первичным ключевым полем, содержащим уникальные для каждой записи значения. Чтобы сделать поле ключевым, нужно в верхней части окна конструирования таблицы выделить строку этого поля и выполнить команду ПравкаèКлючевое поле, или на панели инструментов нажать кнопку . Ключевое поле всегда индексированное.

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

Имя следующего поля таблицы - фамилия сотрудника - можно задать одним словом - фамилия, а вот в описании этого поля запишем подробно - фамилия сотрудника фирмы. Тип данных для этого поля текстовый. Размер текстового поля по умолчанию – 50. Размер поля задается таким, чтобы фамилия сотрудника могла быть записана в это поле, - например, 15.

Определим маску ввода. С помощью этого свойства можно облегчить ввод данных в таблицу или элемент управления, а также предотвратить ошибки ввода данных. Маска ввода состоит из трех частей, разделенных точкой с запятой. Первая часть состоит из символов маски, используемых для ее определения (символы маски можно посмотреть в справке, нажав клавишу F1, когда курсор находится в поле этого свойства). Вторая часть определяет режим занесения в таблицу строковых констант, добавляемых к символам, вводящимся пользователем. Введенный в данный компонент символ 0 или пустое значение указывает, что постоянные символы (например, точки в дате, скобки и дефисы в маске ввода телефонных номеров) сохраняются вместе с введенными пользователем символами; значение 1 данного компонента указывает, что сохраняются только переменные символы, введенные пользователем. Третья часть определяет символ, используемый для изображения пустых позиций в маске ввода, в которые помещаются вводящиеся пользователем символы. В этом компоненте можно указать любой символ (по умолчанию – символ подчеркивания), но иногда удобнее работать, если это будет пробел, его необходимо заключить в кавычки “ “.

Маска ввода для поля фамилия сотрудника будет выглядеть следующим образом: >L<CCCCCCCCCCCCCC;;. Символ маски > преобразует все символы, стоящие за ним, к верхнему регистру. Символ маски L требует, чтобы в первой позиции набираемого текста обязательно была буква, а не пробел и не цифра. Символ маски < преобразует все символы, стоящие за ним, к нижнему регистру. Остальные четырнадцать символов маски, определенные английской буквой C, позволят в оставшиеся позиции поля фамилия вводить как буквы, так и пробелы. Вторая часть созданной нами маски пустая, так же, как и третья – означает использование пустых позиций в виде символов подчеркивания.

Заполняя строку свойства значение по умолчанию, следует помнить о том, что таблица Кадры будет заполняться с учетом вакантных должностей. Т.е. обязательным полем в таблице Кадры должно быть поле должность, а в поле фамилия может быть и пустая строка, если эта должность вакантная. Поставим значение по умолчанию ““ (пустая строка, или Null), т.е. определим: если должность вакантная, то поле Фамилия пустое. В дальнейшем, если понадобится с помощью запроса выбрать из таблицы вакантные должности, условием отбора в поле Фамилия надо будет указать Is Null.

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

Поля имя и отчество сотрудника конструируются аналогично полю фамилия.

Размер текстового поля должность сотрудника можем задать точно, так как известно штатное расписание фирмы. Самое длинное словосочетание в нем – "Начальник административно-хозяйственного отдела" - 47 символов. Для данного поля свойства формат поля, маска ввода, значение по умолчанию, условие на значение и сообщение об ошибке заполнять не будем. Установим в положение Да свойство обязательное поле, поскольку это поле должно быть заполнено, даже если должность вакантна. А свойство пустые строки определим значением Нет. Индексировать данные этого поля не будем.

Так как известен перечень должностей, можно построить для ввода данных в это поле элемент управление Поле со списком или Список, перечислим для него все должности в поле Источник строк ("Директор";"Секретарь";...), и достаточно будет выбрать название должности из списка (рис.3).

Рис.3. Создание поля со списком.

Для создания Поля со списком перейдем на вкладку Подстановка и в строке Тип элемента управления выберем необходимое значение. В строке Тип источника строк выберем Список значений. Значения перечислим в следующем свойстве (Источник строк) как это показано на рис.3. Свойство Присоединенный столбец определяет, значение какого столбца становится значением элемента управления. Определение этого свойства имеет значение, когда Поле со списком состоит из нескольких столбцов. У нас оно состоит из одного столбца, поэтому оставляем его значение по умолчанию (1). Свойство Число столбцов определяет число столбцов, выводящихся в поле со списком. У нас оно равно 1. Свойство Заглавия столбцов используют для вывода строки заголовков столбцов в Полях со списком. Это свойство желательно определять, когда Поле со списком имеет несколько столбцов. Свойство Ширина столбцов лежит в диапазоне от 0 до 22 дюймов (55,87 см). Оставим это значение пустым. Свойство Число строк списка задает число строк, выводящихся в раскрывающемся списке Поля со списком, возможный диапазон значений от 1 до 255, значение по умолчанию 8. Если полное число строк списка превышает указанное в свойстве число строк, раскрывающийся список выводится с вертикальной полосой прокрутки. Свойство Ширина списка задает ширину раскрывающегося списка. Оставим его значение в положении Авто. Свойство Ограничиться списком определяет, что введенное значение, не совпадающее с элементом списка, не принимается, или допускает ввод любого текста, удовлетворяющего свойству условие на значение и не превышающего числа символов, определенного свойством Размер поля.

Поле отдел в таблице конструируется аналогично полю должность.

Поле дата поступления на работу имеет тип данных дата/время. Свойство формат поля позволяет указать вид представления данных. Например, дату 14.09.07 можно записать просто цифрами, разделенными точками, можно полностью 14 сентября 2007 года, можно сокращенно 14-сен-07 и т. д. Установим средний формат даты. Маску ввода определим следующим образом: 90\.90\.00;;. Символы 9 в маске определяют, что в данных вместо этих символов могут быть цифры или пробел, символ 0 требует обязательного ввода цифры. Символ \ указывает, что следующий символ следует воспринимать как постоянный (в нашем случае этот символ "точка"). Остальные свойства этого поля оставляем по умолчанию. Свойство размер поля для поля дата поступления является стандартным: 8 байтов.

Свойства поля дата рождения не отличаются от свойств поля дата поступления.

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

Поле адрес сотрудника. Это поле с текстовым типом данных, размер которого определяется приблизительно, например, 70 символов. Желательно построить маску ввода для этого поля, например:

"ул/пр.">?<??????????????????", дом "099", корп. "9", кв. "099

Поле паспортные данные с текстовым типом данных, размер которого определяется приблизительно, например, 100 символов. Желательно построить маску ввода, например:

0000" "000000" выдан ">?<????????????????" УВД "00.00.00"г."

Поле количество детей. Данные этого поля - целые числа, для записи которых вполне хватит одного байта (в один байт можно записать целые числа из диапазона от –128 до +127).

Поле заработная плата. Очевидно, что тип данных для этого поля денежный. Выбрав его, построим пользовательский (специальный) формат для вывода данных. Не все сотрудники будут получать фиксированные оклады, часть из них будут работать сдельно. Определим для этого поля свойство значение по умолчанию 0,00 рублей и будем считать, что если значение данных в поле 0,00 рублей, то оплата труда сдельная.

Специальные числовые форматы могут включать в себя от одного до четырех разделов, отделенных друг от друга точкой с запятой (например: $#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null"). Каждый формат содержит спецификацию для различных типов числовых данных. Первый раздел включает формат положительных чисел, второй - формат отрицательных, третий - формат нулевых значений, а четвертый - формат пустых (Null) значений. Null - это значение, используемое для представления отсутствующих или неизвестных данных. При работе с этим значение в поле следует помнить, что в отличие от значения ноль, значения Null не равны. Построим следующий формат поля: ####0,00” рублей”;;[Зеленый]”оплата труда сдельная”. В этом случае если в поле заработная плата будет проставлено значение оклада сотрудника, то оно будет выводиться на экран в виде: 1250,00 рублей, а если сотрудник получает сдельную оплату, то зеленым цветом будет выводиться строка «оплата труда сдельная».

При конструировании полей таблицы номер приказа на поступление и номер приказа на увольнение надо учитывать, что в них должна быть еще и дата этого приказа. Поэтому необходима маска ввода, например: "№ "0999" от "00.00.00"г.".

Можно добавить в таблицу еще одно поле: фотография сотрудника. Тип данных этого поля - поле объекта OLE. Задавая такой тип данных, пользователь может заполнять это поле связанными или внедренными в таблицу БД объектами, например, файлами с фотографиями сотрудников.

OLE – это сокращение от Object Linking and Embedding - «связь и внедрение объектов», термин, который используется для работы с разными типами данных в одном месте. Когда связываются два документа, Windows хранит информацию об этой связи. Эта технология позволяет редактировать информацию в одном документе с гарантией, что эти изменения окажут воздействие на все документы, которые с ним связаны.

В чем отличие связи или внедрения от вставки?

Вставляемые данные добавляются к документу (например, копированием) и эти данные становятся частью документа с его правилами представления и обработки данных. Например, таблица Excel, вставленная в текстовый документ, приобретает свойства таблиц текстового редактора и теряет первичные свойства (например, свойство автоматического обновления вычисляемых ячеек).

Если надо создать внедренный объект, необходимо использовать технологию OLE. В случае внедрения объекта, второй документ хранится рядом с первым так, что они никогда не смешиваются. Их можно редактировать отдельно. Несмотря на то, что данные хранятся вместе и выглядят как одно целое, их типы в таком документе остаются разными.

В том случае, когда необходимо использовать два типа данных вместе, но хранить их отдельно, объекты связывают. Это может понадобиться, например, тогда, когда надо вставить картинку с логотипом компании во все документы фирмы. Если внедрять отдельную копию логотипа во все документы, будет много работы. Лучше всего держать логотип в одном файле и включать в каждый файл инструкции о том, как найти связанный объект. В этом случае логотип может храниться на любом компьютере в сети компании. Связь всегда содержит имя файла (например, с картинкой) и инструкцию о том, как его найти (т.е. путь к файлу).

Оба метода имеют свои области применения. Все зависит от формы и назначения документа. Внедряя объекты, мы избавляемся от необходимости поддерживать и обслуживать связи, но при этом можем получать файлы огромных размеров, с которыми трудно работать. Связывая объекты, мы резко уменьшаем размеры файлов и значительно повышаем производительность компьютера, но вынуждены следить за тем, чтобы все связанные объекты хранились строго в тех папках, в которые они были помещены в момент создания связи.

Можно было бы в таблицу Кадры добавить поле биография сотрудника. Хотя это информация текстовая, но текст большой (более 255 знаков), поэтому для этого поля надо выбрать тип данных MEMO. MEMO - это так называемый длинный текст, в нем можно записать до 65535 символов.

Закончив конструирование таблицы Кадры, надо дать ей имя вместо стандартного (таблица 1,...). Имя объекта СУБД Microsoft Access может быть длиной до 64 символов, состоять из знаков кириллицы, цифр и специальных символов, кроме восклицательного знака, точки и угловых скобок.

 



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 293; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.142.135.86 (0.027 с.)