Автор работы: Пользователь скрыл имя, 16 Января 2014 в 13:57, курсовая работа
Информационная модель логического уровня для ИС строится на основе реляционной модели данных, используемой в большинстве современных СУБД. Существенную роль при этом играет получение эффективной структуры базы данных, которое основано на принципе нормализации отношений.
Рис.12
На рис.13 показаны атрибуты
сущностей, представленных на рис.12. Для
однозначной идентификации
Рис.13
Реляционная модель
Реляционная модель является основной логической моделью данных, используемых современными СУБД. Формальное определение реляционной модели данных основано на понятии отношения, которое представляет собой подмножество декартово произведения доменов (т.е. множеств, элементами которых являются все возможные значения некоторого набора атрибутов).
Проектирование схемы реляционной базы данных может начинаться с формального преобразования концептуальной модели сущность-связь в логическую реляционную модель путем замены каждой сущности соответствующим отношением. Связи, в которых нескольким экземплярам одной сущности соответствует один экземпляр другой сущности, реализуются с помощью внешних ключей. Внешним ключом называется первичный ключ некоторого отношения при использовании его в качестве атрибута другого отношения.
На рис. 14 представлен фрагмент схемы реляционной базы данных, построенной в соответствии с представленной выше концептуальной моделью сущность-связь.
Рис.14
В списке атрибутов каждого
отношения первым стоит его первичный
ключ. Идущие от первичного ключа отношения
линии соединяют его с
Для реализации связи многие-ко-многим необходимо создать дополнительное отношение, атрибутами которого являются первичные ключи отношений, участвующих в связи. В нашем примере такая ситуация возникает для связи «Текущий договор-Материалы»
Рис.15
Нормализация
Нормализация - это процесс преобразования схемы реляционной БД, позволяющий получить более эффективную структуру БД. Реляционная БД считается эффективной, если она обладает следующими характеристиками:
·отсутствие избыточности (аномалии обновления, добавления);
·минимальное использование null-значений;
·предотвращение потери информации (аномалия удаления).
Основополагающее понятие теории нормализации - понятие функциональной зависимости. Функциональные зависимости отражают определенную семантическую связь между атрибутами отношения.
Пусть в отношении существует
множество атрибутов X. Некоторый
атрибут или множество
Атрибут A находится в полной функциональной зависимости от множества атрибутов {X,Y}, если он функционально зависим от этого множества атрибутов, и не существует функциональной зависимости ни от какого подмножества данного множества. Если же существует функциональная зависимость A от X, то A находится в частичной функциональной зависимости от {X,Y}.
В теории реляционных БД выделяют следующую последовательность нормальных форм:
·первая нормальная форма (1NF);
·вторая нормальная форма (2NF);
·третья нормальная форма (3NF);
·нормальная форма Бойса-Кодда (BCNF);
·четвертая нормальная форма (4NF);
·пятая нормальная форма, или форма проекции-соединения (5NF или PJNF).
Последовательность нормальных форм должна удовлетворять следующим требованиям:
·каждая следующая нормальная форма в некотором смысле улучшает свойства предыдущей;
·при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
Каждой нормальной форме
соответствует некоторый
Отношение находится в первой нормальной форме, если значения всех атрибутов атомарные и указан ключ (из определения реляционного отношения следует, что любое такое отношение находится в 1NF).
Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме и не содержит неключевых атрибутов, находящихся в частичной функциональной зависимости от первичного ключа. Для отношения с атомарным первичным ключом наличие 2NF обеспечено.
Отношение находится в третьей нормальной форме, если оно находится во второй нормальной форме и не содержит транзитивных зависимостей.
Для БД, количество отношений в которых не превышает нескольких десятков, наличие 3NF считается достаточным для эффективности ее структуры.
В приведенном выше примере (рис. 14) первичные ключи всех отношений атомарные, поэтому отношения находятся во 2NF. Анализ функциональных зависимостей между атрибутами этих отношений показывает, что транзитивные зависимости отсутствуют, следовательно, отношения находятся также и в 3NF. Очевидно, что отношения на рис. 15 тоже находятся в 3NF.
Реализация макета системы средствами MS SQL Server 2005
База данных в SQL Server 2005 с логической точки зрения представляет собой набор реляционных отношений или таблиц. Указанные таблицы содержат данные, а также могут содержать элементы управления данными. У таблиц есть несколько типов элементов управления: ограничения, значения по умолчанию, а также пользовательские типы данных. Кроме того у таблицы могут быть и такие объекты, как представления, индексы, хранимые процедуры, пользовательские функции и триггеры, заданные для поддержки операций с данными. Кроме того, база данных может содержать процедуры, которые используют программный код Transact-SQL или .NET Framework для выполнения операций над данными в базе данных. Сюда относится создание представлений пользовательского доступа к данным таблицы или пользовательским функциям, которые производят сложные вычисления над подмножеством записей.
При инсталляции SQL Server создаются четыре системных базы данных: master (главная), tempdb (временная), model (модель) и msdb.
·master. Хранит информацию уровня всей системы, информацию инициализации SQL Server и настройки конфигурации SQL Server. Эта база данных также хранит все учетные записи для входа в систему, информацию о наличии всех остальных баз данных и о местоположении первичного файла для всех пользовательских баз данных. Всегда имейте свежую копию базы данных master - главной базы данных.
·tempdb. Хранит временные таблицы и временные хранимые процедуры. Эта базы данных используется также для хранения прочей временной информации, нужной для работы SQL Server, например для сортировки данных. При каждом запуске SQL Server создается новая чистая копия базы данных tempdb. Затем, если нужно, эта база данных растет автоматически. Если для хранения ваших временных данных требуется много места, то можно увеличить стандартный размер этой базы данных, применив команду ALTER DATABASE.
·model. Служит образцом (шаблоном) для всех остальных баз данных, создаваемых на данной системе, в том числе и для tempdb. При создании базы данных ее начало создается как копия содержимого базы данных model, а всё остальное заполняется пустыми страницами. База данных model обязательно должна иметься в системе, потому что она применяется для воссоздания базы данных tempdb при каждом запуске SQL Server. Вы можете изменять базу данных model, добавляя туда пользовательские (определяемые пользователем) типы данных, таблицы и т.д. Если вы измените базу данных model, то каждая созданная вами база данных будет иметь измененные атрибуты.
·msdb. Содержит таблицы, которые SQL Server Agent применяет для планирования заданий и оповещений и для записи операторов (здесь операторы - это люди, которые отвечают за работу заданий и оповещений). Эта база данных также хранит таблицы, применяемые для репликации.
Физически база данных SQL Server состоит из набора файлов операционной системы. Файл базы данных может быть либо файлом данных, либо файлом журнала. Файлы данных служат для хранения таблиц и таких объектов, как индексы, представления, триггеры и хранимые процедуры. Имеется два типа файлов данных: первичные и вторичные. Файлы журналов служат только для хранения информации из журналов транзакций.
Каждая база данных должна создаваться хотя бы с одним файлом данных и с одним файлом журнала; файлы не могут быть использованы более чем в одной базе данных - т.е., базы данных не могут разделять файлы (использовать файлы совместно). В приведенном ниже перечне указаны три типа файлов, которые могут быть использованы в базах данных:
·Первичные файлы данных.
Первичные файлы данных содержат
всю информацию для запуска базы
данных и ее системных таблиц и
объектов. Они указывают на другие
файлы, созданные в базе данных. Они
могут также содержать таблицы
и объекты, задаваемые пользователем,
хотя это и не обязательно. Каждая
база данных может иметь только один
первичный файл. Для этих файлов
рекомендуется применять
·Вторичные файлы данных.
Вторичные файлы данных не являются
обязательными. Они могут хранить
данные и объекты, которые отсутствуют
в первичном файле. База данных может
вообще не иметь ни одного вторичного
файла (если все ее данные хранятся
в первичном файле). Для этих файлов
рекомендуется применять
·Файлы журналов транзакций. Файлы журналов транзакций хранят всю информацию из журнала транзакций, служащую для восстановления базы данных. Каждая база данных должна иметь хотя бы один файл журнала, а может иметь и несколько файлов журналов. Для этих файлов рекомендуется применять расширение .ldf.
Для управления базами данных SQL Server существует полнофункциональный инструмент с графическим интерфейсом SQL Server Management Studio.
Создание базы данных
информационный база данный скалярный
Рассмотрим основные шаги построения БД в среде SQL Server Management Studio.
После запуска Management Studio и установления соединения с SQL Server появляется основное окно программы. Нажатие на правую кнопку мыши на строке «Базы данных» обозревателя объектов вызывает контекстное меню, содержащее команду «Создать базу данных». Появляется окно «Создание базы данных», в котором необходимо задать имя и местоположение базы на диске (см. рис. 16).
Файлы базы данных создаются имеющими некоторый начальный размер. После того как этот начальный размер заполнится, SQL Server увеличит размер файла на некоторую заданную величину, называющуюся приращение роста (growth increment). Когда это добавленное свободное место заполнится, SQL Server добавит еще одно приращение роста. При необходимости, файл продолжит свой рост с заданным темпом до тех пор, пока не заполнится весь диск или пока его размер не достигнет ограничения на максимальный размер файла (если таковое ограничение задано). Параметры начальный размер и приращение задаются в том же окне «Создание базы данных» В учебных примерах для этих параметров рекомендуется использовать значения, установленные по умолчанию.
Рис.16
Таблицы. Типы данных
Нажатие на правую кнопку мыши на строке «Таблицы» вызывает контекстное меню, содержащее команду «Создать таблицу…». Появляется вкладка, на которой задаются имена столбцов, выбираются для них типы данных и устанавливается флажок «Разрешить значения null». Для сохранения структуры необходимо нажат правую кнопку мыши находясь на заголовке вкладки. В появившемся контекстном меню выбирается команда «Сохранить…» и задается имя таблицы (см. рис. 17).
Рис.17
Для атрибутов (полей) таблиц SQL Server 2005 предоставляет следующие типы данных которые могут быть выбраны при создании таблицы:
Двоичные данные
binary [ ( n ) ]максимальная длина 8 000 байт (n)varbinary [ ( n ) ]данные переменной длины, максимальная длина 8 000 байт (n)imageмаксимальная длина 2 147 483 647 байтbitтип данных, который принимает значения 1 или 0
Символьные данные
сhar [(n)]максимальная длина 8 000 символов (n)varchar [(n)]тип переменной длины, максимально 8 000 символов (n)textмаксимальная длина 1 073 741 823 символов
Символьные данные в кодировке Unicode
nchar (n)максимальная длина 4 000 символов (n)nvarchar (n)переменной длины в кодировке Unicode максимальная длина 4 000 символов (n)ntextмаксимальная длина 1 073 741 823 символовЧисловые целые данные
igintдиапазон от -922 337 203 685 4775808 до 922 337 203 685 4775807Intдиапазон от -2 147 483 648 до 2 147 483 647smallintдиапазон от - 32 768 до 32 767tinyintдиапазон от 0 до 255
Числовые данные с дробной частью числа
decimal[(p[, s])]диапазон от -1038-1 до 1038-1 с задание фиксированного количества знаков (p - всего и s -дробной части), максимальное общее количество знаков 38numericто же, что и decimalfloat [ ( n ) ]диапазон от +2.29*10-308 до +1.79*10308realчисла с 7-значной точностью в диапазоне от +1.18*10-38 до +3.40*1038.
Тип дата и время
datetimeдиапазон от 1.01.1753 до 31.12.9999 с точностью 3.33 мсsmalldatetimeдиапазон от 1.01.1900 до 6.06.2079 с точностью 1 мин.
Денежный тип
moneyдиапазон от7 203 685 477.5808 до +922 337 203 685 477.5807smallmoneyдиапазон от214 748.3648 до +214 748.3647
Данные специальных типов
timestampПометка времени, SQL Server автоматически увеличивает значение поля этого типа на 1 при внесении любых изменений в таблицу. Имеет уникальное значение для базы данных, не может быть ключом.uniqueidentifierтип, который содержит уникальный идентификационный номер (GUID), сохраняемый как 16-битная двоичная строкаsql_variantтип, который сохраняет значения различных типов, кроме text, ntext, timestamp и sql_variant.sysnameтип - синоним nvarchar, используется для ссылок на имена объектов базы данныхxmlТип для хранения документов в формате XML
Схема базы данных
Для создания схемы базы данных используется объект Диаграммы бах данных (см. рис. 18).
Рис.18
На соответствующей вкладке после добавления таблиц курсором при нажатой левой клавише мыши устанавливаются связи между таблицами. В появляющихся при этом вспомогательных окнах указываются названия связей и имена используемых для связи атрибутов, являющихся первичными или внешними ключами (см. рис. 19).
Рис.19
Фрагмент полученной для рассматриваемого в пособии примера диаграммы базы данных показан на рис. 20.
Рис.20
Создание запросов
В состав SQL Server Management Studio входят инструменты для создания SQL-запросов. Для создания запроса на основе текущей (открытой) таблицы с помощью пункта меню «Конструктор запросов» или кнопки на панели инструментов «Редактор SQL» на вкладке текущей таблицы открывается окно с областью SQL-кода, содержащее шаблон запроса. Этот запрос может быть дописан вручную или сформирован с помощью Конструктора запросов. Элементами конструктора являются окна: Область схемы, Область условий, Область результата, Добавления таблицы, которые вызываются соответствующими кнопками . Для выполнения запроса используется кнопка .