Читаем Базы данных: конспект лекций полностью

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

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

1) металингвистический символ «{}». Синтаксические конструкции в фигурных скобках представляют собой обязательные синтаксические единицы. При задании базового отношения, обязательными элементами являются, например, базовые атрибуты; без объявления базовых атрибутов ни одно отношение не может быть спроектировано. Поэтому при записи оператора создания базового отношения на псевдокоде базовые атрибуты перечисляются в фигурных скобках;

2) металингвистический символ «[]». В этом случае все наоборот: синтаксические конструкции в квадратных скобках представляют собой необязательные синтаксические элементы. Необязательными синтаксическими единицами в операторе создания базового отношения, в свою очередь, являются виртуальные атрибуты и первичный, и кандидатный, и внешний ключи. Здесь, разумеется, тоже присутствуют свои тонкости, но о них мы поговорим позднее, когда перейдем непосредственно к проектированию оператора создания базового отношения;

3) металингвистический символ «|». Этот символ буквально означает «либо», как аналогичный символ в математике. Применение этого металингвистического символа означает, что необходимо выбрать между двумя или более конструкциями, разделенными, соответственно этим символом;

4) металингвистический символ «…». Многоточие, поставленное непосредственно после каких-либо синтаксических единиц, означает возможность повторения этих предшествующих металингвистическому символу синтаксических элементов;

5) металингвистический символ «,..». Этот символ означает почти тоже самое, что и предыдущий. Только в случае применения металингвистического символа «,..», повторение синтаксических конструкций происходит через запятую, что зачастую гораздо более удобно.

С учетом этого, можно говорить об эквивалентности следующих двух синтаксических конструкций:

единица [, единица] …

и

единица,.. ;

<p>2. Пример создания базового отношения в записи на псевдокоде</p>

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

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

Ограничения ссылочной целостности могут быть двух видов: on update, что означает «при обновлении», и on delete, что означает «при удалении». Что это значит? Это значит, что при обновлении или при удалении атрибутов отношений, на которые ссылается внешний ключ, необходимо поддерживать целостность по состоянию. (Подробнее об этом мы поговорим позднее.)

Сам оператор создания базового отношения используется нами уже изученный – оператор Create, только для создания именно базового отношения добавляется ключевое слово table («отношение»). И, разумеется, так как отношение само по себе больше и включает в себя все рассмотренные ранее конструкции, а также новые дополнительные конструкции, оператор создания получится довольно внушительного вида.

Итак, запишем на псевдокоде общий вид оператора, используемого для создания базовых отношений:

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

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

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT