Лого на 91. НЕГ „Проф. Константин Гълъбов“

Модул 3 · Урок 14

Програмата MS Access

СУБД от пакета MS Office: обектите на базата (таблици, форми, заявки, отчети, модули, макроси), създаване и редактиране на таблица, типове и избор на ключ.

Какво е MS Access

MS Access е програма за създаване и експлоатация на релационни бази от данни — част от пакета MS Office, редом с Word, Excel и PowerPoint, затова част от интерфейса ѝ ни е позната. Разликата: докато познатите програми създават по един тип обекти (текст, таблица, презентация), с Access създаваме и обработваме няколко различни обекта:

ЯДРО — данни, организирани в релации (таблиците)
ФОРМИ — интерфейс за обслужване
ЗАЯВКИ — въпроси към данните
ОТЧЕТИ — документи от данните
МОДУЛИ — програмно управление
МАКРОСИ — команди за автоматизиране
Фиг. 1. Обектите на една база в MS Access — ядрото и спомагателните обекти

Файловете на MS Access са с разширение .accdb. При стартиране избираме Blank database (празна база) или темплейт (заготовка), задаваме име на файла и папка. Съвет от учебника: създай си лична папка за файловете — не ги оставяй в папката по премълчаване, особено на споделен компютър.

Създаване на таблица

Изгледът, в който се отваря нова таблица, се нарича Datasheet (лист с данни — като електронна таблица). Access автоматично създава първия атрибут ID от специалния тип AutoNumber: стойностите му са целите положителни числа 1, 2, 3…, присвоявани в реда на добавяне. Това е познатият ни идентификатор, добавен, за да бъде първичен ключ.

Атрибутите за таблицата Ученик от урока и разсъжденията за типовете им:

АтрибутТип в AccessЗащо
IDAutoNumberавтоматичен идентификатор — първичен ключ
КласShort Text (3)„12а“ — число + буква, до 3 знака
НомерNumberцяло число! При текст сортирането слага 11, 12 преди 2, 3 (лексикографски ред)
Име, Презиме, ФамилияShort Text (16)три отделни атрибута — изискване на 1НФ
Дата на ражданеDate/Timeспециален числов подтип
Място на ражданеShort Text (32)не си струва да нормализираме до 1НФ (селище + област)
ЕГНShort Text (12)цифров код, не число — по-мъдро е с резерв в дължината
СнимкаOLE Objectтова е BLOB типът на Access

Класическият капан с Номер

Ако Номер е текстов, сортирането подрежда „11", „12" преди „2", „3" — заради лексикографското сравняване на низове. Затова типът трябва да е цяло число.

Редактиране на таблица — Design View

Грубата схема правим в Datasheet (Click to Add → избор на тип), а финото редактиране — с бутона View → Design View: там виждаме Field Name и Data Type на всеки атрибут и списъка с параметри долу вляво.

Важните параметри

  • Field Size — размер: за Клас сменяме 255 (по премълчаване!) с 3; за Номер избираме най-пестящия тип Byte вместо Long Integer.
  • Caption — надпис/обяснителен текст за атрибута.
  • Required = Yes и Allow Zero Length = No — за ЕГН: предпазват от невъвеждане на важната идентифицираща стойност.
  • Default Value — стойност по премълчаване; оставя се празна, когато няма смислена такава.
  • Decimal Places — брой цифри след десетичната точка при дробни числа (Auto = 0 за целите типове).

Типовете в менюто Click to Add

Access типКакво е
Short Textнеголеми текстови атрибути
Numberчисла
Currencyпаричен подтип
Date & Timeден и час
Yes/Noбулевият тип на Access
OLE ObjectBLOB (не е в менюто, добавя се от Design View)

Избор на ключ

По премълчаване първичен ключ е идентификаторът ID (иконката ключ в началото на реда). Можем да изберем друг: маркираме например двата атрибута Клас и Номер и с бутона Primary Key правим от тях нов съставен ключ.

Внимание

Таблиците в MS Access трябва да имат ключ — не можем да премахнем ID, преди да сме посочили друг. И не бива да се бърза с премахването на идентификатора: на по-късен етап може да потрябва за връзки с други таблици.

Практикум (задачи от учебника)

1) Довършете схемата на таблицата Ученик и я съхранете. 2) В Datasheet попълнете данни за учениците от вашия клас (поне 10 кортежа). Забележка: ЕГН са лични данни — при реална база спазвайте регулациите. 3) Създайте таблиците на проекта, който разработихте в предишния урок.

Какво трябва да запомниш

  • Access = СУБД; файлове .accdb; обекти: таблици (ядро) + форми, заявки, отчети, модули, макроси.
  • AutoNumber = автоматичен целочислен идентификатор, първичният ключ по премълчаване.
  • Номер в клас = число (иначе „11“ < „2“ при сортиране); ЕГН = текст.
  • Design View: Field Size, Required, Allow Zero Length, Default Value.
  • Таблиците в Access задължително имат ключ.