Вторая нормальная форма (2NF) требует, чтобы соблюдались условия первой нормальной формы и чтобы любой неключевой столбец зависел от всего первичного ключа таблицы, а не от его части. Это правило относится только к тому случаю, когда первичный ключ образован из нескольких столбцов.
Пример. Пусть таблица регионов REGION в процессе проектирования приняла следующий вид (табл. 2.3).
Третья нормальная форма (3NF) требует соблюдения условий второй нормальной формы, и чтобы ни один неключевой столбец не зависел от другого неключевого столбца. Для примера рассмотрим таблицу, описывающую отделы организации (табл. 2.4) 
Нормальная форма Бойса — Кодда (BCNF) является как бы развитием третьей нормальной формы. Она запрещает в качестве столбца, входящего в состав первичного ключа, использовать столбец, который функционально зависит от неключевого столбца, т. е. значение такого столбца можно выбрать из другой таблицы базы данных. Трудно себе представить разработчиков, которые могут создавать таблицы такой изощренной (или просто неразумной) структуры.
Нормализованные таблицы в базе данных позволяют уменьшить избыточность данных, в большинстве случаев увеличивают гибкость использования системы, предоставляя возможность выполнять произвольные, сколь угодно сложные запросы, что временами повышает ее производительность. Это в полном объеме относится к оперативным данным, т. е. к данным, регулярно используемым в ежедневном решении оперативных задач предметной области. Такие задачи называются задачами оперативной обработки транзакций (OLTP — Online Transaction Processing).
Существуют различные подходы к проектированию баз данных. В любом случае при проектировании разрабатывается база данных не сама по себе, "вещь в себе", а с учетом тех задач, для решения которых она будет использоваться. 

Одним из наиболее часто применяемых подходов является трехуровневое проектирование всей системы обработки данных и, соответственно, базы данных. Это концептуальный (содержательный), логический и физический уровни.
В SQL Server в качестве языка работы с базами данных используется язык, который называется Transact-SQL. Этот язык является несколько измененным и расширенным вариантом языка SQL, определенного в международных стандартах. Еще говорят, что Transact-SQL является диалектом стандарта SQL. Операторы языка позволяют выполнять создание, изменение и удаление объектов базы данных и самой базы данных, создавать триггеры, хранимые процедуры, добавлять, изменять, удалять и отыскивать данные в таблицах базы данных.
Для четкого описания синтаксических конструкций языка Transact-SQL мы будем применять несколько расширенную систему обозначений (нотации) Бэкуса — Наура, что принято во всем мире при описании синтаксиса большинства формальных языков, используемых в программировании. Кроме того, те же самые конструкции будут описываться и при помощи графических средств — R-графами.
Язык SQL и его диалект, используемый в SQL Server, Transact-SQL, можно представить в виде группы подъязыков, частей. По традиции каждый такой подъязык называют языком.

В Transact-SQL выделяются следующие части:
Прежде чем приступить к созданию объектов в базе данных и начать работать с данными в базе, нужно сначала создать саму базу данных. В ней будут храниться все необходимые для решения задач предметной области данные. Туда же вы можете помещать создаваемые хранимые процедуры, триггеры, пользовательские типы данных, функции, представления.
При первоначальной загрузке вашего компьютера, если вы при инсталляции SQL Server задали автоматический старт компонента Database Engine, то он будет запущен на выполнение. В принципе на одном компьютере может одновременно выполняться несколько экземпляров сервера SQL Server, в том числе и разных версий. Тот сервер базы данных, с которым мы выполняем соединение в одной из наших программ (в первую очередь это будет утилита командной строки sqlcmd и программа SQL Server Management Studio), называется текущим экземпляром сервера.

Опрос

Какие языки программирования вы хотите видеть на сайте

Другие опросы...