Добавил:
Меня зовут Катунин Виктор, на данный момент являюсь абитуриентом в СГЭУ, пытаюсь рассортировать все файлы СГЭУ, преобразовать, улучшить и добавить что-то от себя Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика / Теория / Базы данных СГЭУ - Курсовое_проектирование_для заочников.docx
Скачиваний:
14
Добавлен:
09.08.2023
Размер:
3.84 Mб
Скачать

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 заполнится автоматически!

Аналогичным образом создаются все остальные таблицы.