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


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



ЗНАЕТЕ ЛИ ВЫ?

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



Существует другая разновидность каскадного удаления:

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

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

 

ИНДЕКСЫ

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

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

Значения полей в индексе сортируются по возрастанию, что существенно ускоряет поиск нужных значений.

Если, например, нужно выбрать все записи с наименованием товара «свекла», нет нужды просматривать всю таблицу. Достаточно найти в индексе, построенном по столбцу наименование товара, первый указатель на запись, содержащую товар – свекла, и считать из таблицы эту запись, а затем повторить то же самое для всех иных указателей в индексе на записи с товаром «свекла».

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

Такой метод доступа к записям таблицы называют индексно - последовательным, потому что:

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

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

 

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

При проектировании структуры новой БД, определяют сущности (объекты, события, явления) предметной области, которые должны найти своё отражение в БД. Анализ предметной области обычно осуществляется на основании известных сведений о ней с учетом цели проектирования программной системы. В результате анализа создается проект БД. Существует специальные программные комплексы (называемые CASE-средствами), которые в значительной мере автоматизируют процесс создания проекта БД.

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

Процесс нормализации имеет своей целью устранение избыточных данных и заключается в приведению к 3-ей нормальной форме.

Первая нормальная форма

Для таблицы будут выполнены условия первой нормальной фор­мы, если:

• каждое поле (концептуальное требование) неделимо;

• отсутствуют повторяющиеся поля или группы полей.

Если перечисленные выше условия выполняются, то все кон­цептуальные требования могут быть сведены либо в одну общую таблицу, либо можно создать по одной таблице для каждого структурного подразделения.

Вторая нормальная форма

Условия второй нормальной формы:

• выполняются условия первой нормальной формы;

• первичный ключ однозначно определяет всю запись;

• все поля зависят от первичного ключа;

• первичный ключ не должен быть избыточным.

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

Третья нормальная форма

Условия третьей нормальной формы:

• выполняются условия второй нормальной формы;

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

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

 

Транзакции

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

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

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

 

СУБД

СУБД – это программные средства для создания, наполнения, обновления и удаления БД. Разновидности СУБД:

  1. Access. Доступна для пользователей с низкой квалификацией, средства по созданию отчетов различной степени сложности.
  2. Visual C++. Самая скоростная среда программирования, обеспечивающая выполнение расчетов и обработки данных любой сложности. Совместима практически со всеми известными приложениями.
  3. Visual FoxPro. Для создания приложений БД объема предприятия, обладает хорошим быстродействием и устанавливается на различные платформы.
  4. SQL – Server. Обеспечивает высокую степень защиты данных от случайных потерь, несанкционированного доступа. Развиты средства обработки данных, хорошее быстродействие. Для хранения большого объема данных.
  5. Visual Basic. Продукт фирмы Microsoft, легко интегрируется со всеми приложениями Microsoft Office и интегрированными в Windows. Для создания набольших приложений, в которых не требуется большие вычисления и серьезная обработка данных.

 

Visual Fox Pro. Типы полей. Ограничения. Типы полей

Дистрибутивный пакет FoxPro содержит 2 версии – стандартную и расширенную.

Для функционирования стандартной версии FoxPro 2.6 достаточно обычных 640 Кбайт памяти ПЭВМ и около 20 Мбайт дисковой памяти при полной инсталляции или 2 Мбайт – при минимальной.

Совершенно обязательными являются только файлы FoxPro.exe/.ovl или FoxProX.exe, хотя обычно всегда присутствуют FoxPro.int, Config.fp, FoxUser.* и FoxHelp.*, а также генераторы меню и экранов (GenMenu.prg и GenScrn.prg). Большую часть остальных файлов/директорий после изучения можно удалить.

 

· Поля – максимальный размер символьного поля составляет 254.

· Максимальное число символов в имени поля свободной таблицы (не содержащей в определенной БД) составляет 10.

· Максимальное число символов в имени поля таблицы, содержащейся в определенной БД, составляет 128.

· Записи – максимальное число записей, содержащихся в одном табличном файле, составляет 1Млрд.

· Максимальное число символов в записи 65000 символов.

· Максимальное число полей в записи 255.

· Таблицы – максимальный размер табличного файла – 2Гбайта.

· Максимальное число одновременно открытых таблиц – 2551

· Максимальное число символов в поле таблицы – 254.

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

 

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

Currency (денежный). Поля денежного типа используются для хранения денежных величин. VFP автоматически включает денежный знак в вычислениях и отчетах. Поля этого типа позволяет вводить значения от -922 337 203 685 477.5808 до +922 337 203 685 477.5807.

Numeric (числовой). Поля числового типа содержат целые числа или дроби. Эти значения используются в вычислениях. Числовые поля можно также использовать для хранения денежных значений, хотя VFP не будет включать денежный знак, когда это значение отобразится в отчетах. Поля этого типа могут содержать числа от -0.999 999 9999е+19 до +0.999 999 9999е+20.

Float (числовой с плавающий точкой). Числовые поля с плавающей точкой содержит теже самые значения, что и поля числового типа. Располагая таким типом, VFP может легко преобразовывать данные из других БД.

Date (дата). Поля дат используются для хранения значений дат. Они могут быть в вычислениях со значениями дат. Диапазон: 01/01/100 – 12/31/9999.

Datetime (дата/время). Это поле содержит значение даты и времени из поля такого вычисления. По этому есть возможность длину временного интервала. Эти поля содержат значения дат от 01/01/100 – 12/31/9999 и времени от 00:00:00 a.m. до 11:59:59 p.m.

Double. Поля этого типа содержат очень большие или очень маленькие значения, точность которых превышает 16 десятичных знаков. Этот тип данных не используется до тех пор, пока не появиться надобность проводить вычисления с числами от +/-4.940 656.458.412.47е-324 до +/-8.988 446 567 431 15е+307.

Integer (целый). Поля этого типа содержат целые числа. В такое поле нельзя поместить десятичное число, но в такое поле можно ввести большое или маленькое число диапазоном: -2 147 483 647 до +2 147 483 646.

Logical (логический). Этот тип используется когда только два значения (истина или ложь) должны храниться в поле.

Memo (примечания). Используется это поле для ввода большого фрагмента текста. Фактически текст хранится на винчестере. Значения поля – это ссылка на то место, где хранится текст. Поля этого типа дают возможность добавить в БД записную книжку.

General (общий). Поля этого типа зарезервированы для хранения ссылок на объект OLE (связывание и внедрения объектов), а объектом может быть электронная таблица, документ Word и практически всё, что было создано другими программами для Windows. Эти объекты непосредственно включаются в БД VFP.

Character (Binary) и Memo (Binary). Они содержат теже типы данных, что и символьные и Memo-поля, однако данные хранятся в двоичном виде, что позволяет предотвращать изменения данных этого типа на языке написанном в VFP.

Временные переменные



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 121; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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