- •И.И. Довгялло, с.М. Юдина база данных sql Server 2005. Курсовое проектирование
- •Введение
- •1. Цель и задачи работы над курсовым проектом
- •2. Структура пояснительной записки
- •3. Общие требования к выполнению курсоВого проекта и содержанию пояснительной записки
- •4. Пример задания на курсовое проектирование
- •5. Пример пояснительной записки курсового проекта
- •5.1. Введение
- •5.2. Пример оформления главы 1 « Проектирование базы данных»
- •5.2.1. Проектирование базы данных методом нормализации таблиц
- •5.1.2. Проектирование базы данных методом семантического моделирования в среде Erwin
- •5.3. Пример оформления главы 2 «Создание таблиц в sql Server 2005 »
- •5.3.1. Команды создания и модификации таблиц
- •5.3.2. Построение диаграммы базы данных
- •5.3.3. Просмотр структуры и содержимого таблиц
- •5.4. Пример оформления главы 3 «Основные команды sql для извлечения, добавления и изменения данных»
- •5.5. Пример оформления главы 4. «Создание процедур и функций»
- •5.7. Пример оформления главы 5 «Создание триггеров»
- •5.8. Пример оформления заключения по курсовому проекту
- •6. Нормативные требования к оформлению курсового проекта
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 21
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
5.1.2. Проектирование базы данных методом семантического моделирования в среде Erwin
Семантическое моделирование, или моделирование структуры данных на основе их смыслового содержания, осуществляется при помощи диаграмм ER (сущность-связь). Такой метод проектирования позволяет изобразить структуру базы данных с применением графических средств. По сравнению с другими методами проектирования данный метод более наглядный.
Чтобы построить ER-модель, необходимо выполнить ряд этапов. В первую очередь, надо определить, какие сущности будут присутствовать в модели.
Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели. Каждая сущность должна иметь наименование, выраженное существительным в единственном числе. Каждая сущность имеет несколько экземпляров. Данным определениям в нашем варианте задания соответствуют следующие сущности:
Цех;
Изделие;
Деталь;
Выпуск.
На следующем этапе мы должны определить атрибуты каждой сущности.
Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными). Один или несколько атрибутов должны определять уникальность каждого экземпляра сущности, т.е. представлять собой первичный ключ сущности (Primary Key – PK).
Сущность «Цех» характеризуется следующими атрибутами: код цеха (тип данных Number, Primary Key), наименование цеха (тип данных String).
Сущность «Изделие» имеет следующие атрибуты: код изделия (тип данных Number, Primary Key), наименование изделия (тип данных String).
В сущность «Деталь» входят атрибуты: код детали (тип данных Number, Primary Key), наименование детали (тип данных String), цена детали (тип данных Number).
Сущность «Выпуск»включает в себя следующий набор атрибутов: дата (тип Datetime), количество (тип данных Number).
После создания сущностей с атрибутами следует создать связи между сущностями. Сущности «Цех» и «Изделие» связываются с сущностью «Выпуск» отношением «один-ко-многим» (Identifying relationship). В сущность «Выпуск» автоматически добавляются атрибуты – внешние ключи «Код изделия» и «Код цеха».
Сущности «Изделие» и «Деталь» связываются отношением «много-ко-многим» (Non-identifying relationship). Затем в контекстном меню на линии связи выбирается команда Resolve Many-to-Many, автоматически создается новая сущность «Изделие_Деталь», содержащая внешние ключи «Код изделия» и «Код детали». В данную сущность добавляется последний необходимый атрибут – количество каждой детали в данном изделии (тип данных Number).
Получившаяся модель на логическом уровне представлена на на рис. 5.2.
☻ Обращаем внимание на то, что в Вашем курсовом необходимо привести семантическую модель базы данных, как на логическом, так и на физическом уровнях!!!
Рис. 5.2. Модель «сущность-связь»
5.3. Пример оформления главы 2 «Создание таблиц в sql Server 2005 »
5.3.1. Команды создания и модификации таблиц
Для создания таблиц и других объектов, для изменения их свойств, а также удаления, используются команды DDL2: CREATE, ALTER, DROP и др.
Прежде чем создавать таблицы, необходимо создать базу данных пользователя, в которой они будут располагаться.
Для этого необходимо на рубрике Базы данных (Databases) вызвать команду контекстного меню Создать базу и в появившемся окне ввести имя базы данных.
А налогичным образом создаются таблицы в конструкторе таблиц: на рубрике Таблицы(Tables) вызвать команду контекстного меню «Создать таблицу» и ввести имя поля, выбрать тип поля и ширину(точность) поля (рис. 5.3).
Рис. 5.3. Создание таблицы detal в конструкторе
В команде создания таблицы описываются поля таблицы с указанием имени, типа, ширины поля и ограничений.
Общий вид команды создания таблицы:
Create table <имя таблицы> (имя поля1 тип[ширина] [default] [not null] [constraint], имя поля2 …)
Констрейнты (ограничения целостности) позволяют поддерживать уникальность записи, присваивать значения null и not null, поддерживать ограничения полей в заданных рамках, обеспечивать взаимную целостность таблиц. Различают констрейнты на уровне таблиц (применяются к одному или нескольким полям) и констрейнты на уровне полей (применяются к одному полю). Рассмотрим основные типы констрейнтов:
ограничение NOT NULL запрещает оставлять заданное поле не заполненным, т.е. получать неопределенное значение;
ограничение DEFAULT позволяет присвоить определенному полю значение по умолчанию; данное значение будет актуальным в том случае, если пользователь не введет в поле никакого иного значения;
ограничение CHECK используется для проверки допустимости данных, вводимых в конкретное поле таблицы; ограничения целостности CHECK задают диапазон возможных значений для поля или полей; в основе ограничений целостности CHECK лежит использование логических выражений;
ограничение UNIQUE задает требование уникальности значения поля или группы полей, входящих в уникальный ключ, по отношению к другим записям;
ограничение целостности PRIMARY KEY (первичный ключ) – это поле или группа полей, уникально идентифицирующих каждую запись в таблице; данное ограничение необходимо для обеспечения целостности таблицы, а также ссылочной целостности;
ограничение внешнего ключа FOREIGN KEY - это основной механизм для поддержания ссылочной целостности между таблицами реляционной базы данных; поле дочерней таблицы, определенное в качестве внешнего ключа в параметре FOREIGN KEY, применяется для ссылки на поле родительской таблицы, являющееся в ней первичным ключом; для разрешения каскадного изменения поля в дочерней таблице при изменении родительской таблицы применяются параметры ON DELETE CASCADE и ON UPDATE CASCADE.
Для внесения изменений в структуру таблицы используется команда ALTER TABLE. В зависимости от используемых параметров она может применяться для создания, модификации и удаления полей, создания констрейнтов.
Для заполнения таблиц данными можно использовать конструктор среды SQL Server 2004 Management Studio Express или команду INSERT3.
Команда создания таблицы cex (Цеха) с полями kod_c (Код цеха) и name_c (Имя цеха), где kod_c - первичный ключ, приведена на рис. 5.4. Здесь же показано создание последовательности для формирования первичного ключа, начиная от единицы с шагом единица, и команды для добавления данных в таблицу.
|
Рис. 5.5
Для создания таблицы izdel (Изделие) с полями kod_i (Код изделия) и name_i (Имя изделия), где kod_i - первичный ключ, был использован конструктор среды SQL Server 2005 (рис. 5.6). На этом же рисунке показано создание поля kod_i, которое будет первичным ключом. Кроме того, это поле является полем Identity (идентифицируемым, т.е. формирующимся автоматически в каждой новой записи с начальным значением 10 и приращением 10).
|
Рис. 5.6
На следующей строке конструктора следует описать поле name_i, выбрав для него тип VARCHAR(25). Затем окно конструктора следует закрыть и ввести имя таблицы detal.
Для ввода данных в таблицу выполним команду «Открыть таблицу»контекстного меню на имени таблицы и ввести значения для поля name_i. Поле kod_i заполнится автоматически!
Аналогичным образом создаются все остальные таблицы.