Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Нормализация БД




При создании БД, в первую очередь необходимо разработать её структуру. Следующим шагом должна быть её нормализация.

Нормализация БД предназначена для уменьшения объёма хранимых данных и снижения вероятности ошибки при вводе данных и затрат труда при этом.

Пример.

Имеется следующая таблица, в которой содержаться данные по товарным накладным:

№ накладной Дата Поставщик Адрес Товар Цена Количество Стоимость
               

Она имеет очевидные недостатки:

1. Одна накладная может иметь разные даты вследствие человеческой ошибки.

2. У одного и того же товара могут быть разные цены.

3. Адреса у одного и того же поставщика могут быть разные

4. Стоимость можно ввести неверно.

Для того чтобы устранить эти недостатки, таблицу необходимо привести к 3-й нормальной форме (всего существует 5 нормальных форм).

1. Первая нормальная форма. Таблица соответствует 1-й нормальной форме, если каждый столбец содержит атомарные (которые нельзя разделить на более простые) значения, а в таблице не содержаться повторяющиеся группы. В рассматриваемом примере повторяющейся группой является накладная, следовательно, часть полей повторяется. Группы удаляются помощью добавления таблиц. Создаём дополнительную таблицу “Накладная”.

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

3. БД находится в 3 нормальной форме, если она находится во второй нормальной форме, и каждый столбец зависит от первичного ключа и не зависти от части ключа. В таблице не должны присутствовать поля, которые можно вычислить, как бы сложно это ни было. Таким образом, в отдельную таблицу также выделяются поставщик, его уникальный идентификатор, его адрес и телефон.

Неформальные методы приведения таблиц к третьей нормальной форме

1. Определить таблицы таким образом, чтобы записи в каждой таблице описывали объекты одного и того же типа (н-р, товары, поставщики, накладные).

2. Если в таблице появляются поля, содержащие аналогичные данные, необходимо её разделить.

3. Не заполнять в таблице данные, которые могут быть вычислены.

4. Необходимо как можно больше использовать вспомогательные таблицы.

 

Операции в БД (VBA)

Операции над отношениями/таблицами

1. Операции создания таблицы/отношения

a. Имя таблицы,

b. Создание коллекции полей (значение имён полей, их типов, длины и пр.)
Создание таблицы программно:
Dim db as Database
Dim tb as Tabledef
Dim fil as Field
Set db = CurrentDb
– присоединение объекта к открытой БД
Set tb = db.CreateTableDef(“ct”)
– создание таблицы
Set fil = tb.Createfield(“имяПоля”, dbtext, 40)
– создание текстового поля длиной 40
tb.fields.Append fil
– добавление в конец таблицы созданного поля
Set fil = tb.Createfield(“код”, dblong)
fil.attributes = dbAutoIncrement
tb.fields.Append fil

tb.Fields.Refresh
– сохранение изменений в таблице
db.tableDefs.Append tb
– добавление таблицы в БД в конец коллекции
Set tb = Nothing
– освобождение памяти

2. Операция создания индекса.
Dim ind as Index
Set db = CurrentDb
set tb = db.TableDefs(“ct”)
Set ind = tb.CreateIndex(“ind1”)
– создание индекса
ind.Primary = true – делаем индекс первичным
Set fil = ind.CreateField(“код”,dbLong)
– создаём поле индекса
ind.Fields.Append fil
tb.Indexes.Append ind
tb.Indexes.Refresh

3. Открытие таблицы с помощью команды DoCmd, в которой хранятся все макрокоманды.
DoCmd.OpenTable “ct”, acViewDesign – открытие таблицы в режиме конструктора

4. Открытие индекса.

5. Операция выбора таблицы (SetFocus).

6. Выбор источника данных для формы.
Me.RecordSource = “ct”

7. Закрытие таблицы. Может происходить без сохранения и с сохранением (операция Close с параметрами; операция Update).

8. Удаление таблицы.
db.TableDefs.Delete “ct”

9. Удаление индекса.




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 397; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.014 сек.