- •1. Концепция баз данных
- •1.1. Обоснование концепции баз данных. История вопроса
- •Количество абитуриентов по областям
- •1.2. Архитектура представления информации в концепции бд
- •Внешние представления
- •Файл 1
- •Общие сведения о студенте
- •Сведения об учебе
- •Сведения о неуспевающих студентах (количество)
- •1.3. Понятия схемы и подсхемы и их использование в субд
- •2. Информационная система сферы управления - основная область использования бд
- •3. Модели данных
- •3.1. Понятия модели и структуры данных
- •3.2. Линейная модель данных
- •3.3. Иерархическая структура (модель) данных
- •Студент
- •Семестр
- •3.4. Сетевая структура (модель) данных
- •Итоговая аттестация
- •Семестр
- •Студент
- •Студент1
- •Студент2
- •3.5. Реляционная модель данных
- •3.5.1. История применения реляционной модели данных
- •3.5.2. Основные понятия реляционной модели данных
- •3.5.3. Ключ отношения
- •3.5.4. Нормализация отношений
- •Студент
- •Студент
- •Студент
- •Общежите
- •3.5.5. Операции реляционной алгебры
- •Студент
- •Студенто
- •Нестудент
- •Встречи
- •Делитель
- •Студент
- •Студент
- •Студент
- •Семестр
- •3.5.6. Языки обработки реляционных бд
- •Студент
- •Аудитория
- •Делитель
- •Преподаватель
- •Студент
- •Студент
- •Итоговая аттестация
- •4. Процесс проектирования бд
- •4.1. Построение концептуальной информационной модели ПрО
- •4.1.1. Основные подходы для концептуального моделирования
- •4.1.1.1. Декомпозиционный подход
- •4.1.1.2. Интеграционный подход
- •1.1. Идентификация информационных потребностей пользователей предполагает:
- •1.2. Представление выявленных форм отображения информационных потребностей пользователей в виде исходных отношений предусматривает выполнение следующих действий:
- •1.2.1. Рекомендации по выявлению атрибутов
- •1.2.2. Определение вторичных атрибутов
- •2. Уточнение множества исходных отношений состоит из:
- •3. Связывание отношений и простых структур в кимпо
- •4.1.2. Модели, используемые в концептуальном проектировании
- •4.2. Выбор субд
- •4.3. Проектирование физической структуры бд
- •4.4. Case-средства, используемые при проектировании бд
- •4.5. Пример проектирования бд
4.3. Проектирование физической структуры бд
На этапе проектирования физической структуры БД решается вопрос о способе реализации БД, но после того, как будет определена целевая СУБД. Целью этого этапа является описание способа физической реализации логической модели, полученной на предыдущем этапе, в среде выбранной СУБД.
Для реляционной СУБД должны быть создан набор таблиц и ограничений, представленный в реляционной модели данных. Для физической модели также должны быть определены структуры хранения данных и методы доступа к ним, обеспечивающие требуемую производительность системы.
о
Физическая модель фактически представляет собой ddl -скрипт по созданию объектов в БД: таблиц, описанных в реляционной модели данных, др. объектов (представлений, триггеров, процедур, функций и др.) для реализации необходимых бизнес-правил в среде СУБД. Пример физической модели для создания таблицы Личность представлен ниже:
CREATE TABLE Личность
(
фамилия VARCHAR2( 100) NOT NULL, имя VARCHAR2(80) NOT NULL, отчество VARCHAR2(90) NOT NULL, дата_рождения DATE, место рождения VARCHAR2(100), пол VARCHAR2( 10) NOT NULL, национальность VARCHAR2(30)
);
3 ddl (data definition language) - язык определения данных, используемый для создания, изменения и удаления объектов БД
4.4. Case-средства, используемые при проектировании бд
На сегодняшний день рынок CASE-средств, используемых для проектирования БД, представлен достаточно широко, среди популярных продуктов можно выделить следующие: Computer Associates AllFusion ERwin Data Modeler, Oracle Designer, Microsoft Office Visio, Sybase Power Designer, IDS Prof. Scheer ARIS и др.
Рассмотрим 2 мощных средства, позволяющих выполнить весь процесс проектирования БД от построения концептуальной схемы данных ПрО до создания физической модели БД: Computer Associates All- Fusion ERwin Data Modeler и Oracle Designer.
ERwin Data Modeler
] ERwin - это графический инструментарий для моделирования данных, основной целью которого является поддержка процесса описания бизнес-правил и требований к информации при создании логических и физических моделей данных.
] ERwin является мощным и достаточно простым в использовании средством проектирования реляционных БД, завоевавшим широкое признание и популярность.
] На протяжении всего процесса - от логического моделирования требований к информации и бизнес-правилам, которые определяют БД, до оптимизации физической модели в соответствии с заданными характеристиками - ERwin позволяет наглядно отобразить структуру и основные элементы БД.
] ERwin - это не просто средство, облегчающее проектирование, но и инструмент разработки, способный автоматически создавать таблицы и генерировать тексты хранимых процедур и триггеров для многих популярных СУБД.
] Однако необходимо понимать, что сам по себе ERwin - это по большому счёту лишь удобное средство «рисования» с множеством дополнительных возможностей, позволяющее зафиксировать и наглядно представить то, что спроектировал пользователь. Использование ERwin (и стандарта IDEF1X в его рамках) само по себе не обеспечивает получение оптимальной схемы БД. Поэтому для эффективного использования данного инструмента необходимо хорошее знание теории проектирования реляционных БД.
] В ERwin предусмотрено два типа моделей: логическая и физическая. Логическая модель - это абстрактный взгляд на данные, это КИМПО. Логическая модель данных является универсальной в том смысле что, она никак не связана с конкретной реализацией для вы
бранной СУБД. Физическая модель - модель БД для конкретной СУБД, которая фактически является отображением системного каталога БД. В физической модели содержится уже информация не об объектах ПрО, а об объектах БД. Одной и той же логической модели могут соответствовать несколько разных физических моделей.
] ERwin поддерживает стандарт моделирования IDEF1X (Integration DEFinition for Information Modeling). IDEF1X является методом для разработки реляционных БД и использует условный синтаксис, специально разработанный для удобного построения концептуальной схемы. IDEF1X подразумевает использование различных уровней моделирования при проектировании системы.
Клиент
^ Код_клиента |
|
|
|
Имя Фамилия Номер паспорта Дата рождения |
Предмет_заказа
Код_клиента
(FK) Номер заказа (FK)
Код_товара
Заказ
•
Г—
"Л
Код_клиента
(FK)
^
Номер заказа
:
Исполнитель
(FK)
Дата
приёма
Дата
исполнения
чшшштшшшшшшш
Рис.
4.15. Фрагмент полной атрибутивной модели
Клиент |
§ А ~ |
Заказ |
•1 |
|
|
Предмет_заказа
Рис.
4.13. Фрагмент диаграммы сущность-связь
• Модель данных, основанная на ключах (Key-Based Model (КВМ)) - более подробное представление данных, включает описание сущностей и первичных ключей (рис. 4.14).
Клиент Заказ
Предмет_заказа
Рис.
4.14. Фрагмент модели данных, основанной
на ключах
Физическая модель в IDEF1X представлена двумя уровнями: • Трансформационная модель (Transformation Model (ТМ)) - модель данных, соответствующая конкретной СУБД. Структуры данных оптимизируются исходя из возможностей СУБД, объёмов данных, предполагаемых схем доступа и интенсивности использования данных (рис. 4.16).
ITEM
^ order_num: NUMBER (FK) ^ customerjd: NUMBER (FK) articlejd: NUMBER
quantity: INTEGER
Рис. 4.16. Фрагмент трансформационной модели
• Модель СУБД (DBMS Model) - содержит определения объектов физической структуры БД в схеме СУБД или системном каталоге БД, напрямую генерируется из ТМ. ERwin непосредственно поддерживает эту модель путём генерации схемы БД. Фактически эта модель представляет собой текст DDL-предложений на языке SQL:
CREATE TABLE CUSTOMER (
id NUMBER NOT NULL,
first name VARCHAR2(20) NULL, lastname CHAR( 18) NULL, passportnum CHAR( 18) NULL, birthday DATE NULL,
PRIMARY KEY (id));
CREATE TABLE ORDER (
id NUMBER NOT NULL,
ordernum NUMBER NOT NULL, makerid NUMBER NULL,
accept date DATE NULL, return date DATE NULL, PRIMARY KEY (id, order num), FOREIGN KEY (id)
REFERENCES CUSTOMER (id));
CREATE TABLE ORDER ITEM (
id NUMBER NOT NULL,
order num NUMBER NOT NULL, articlejd NUMBER NOT NULL, quantity INTEGER NULL,
PRIMARY KEY (order num, id, articlejd), FOREIGN KEY (id, order num)
CUSTOMER ORDER
Ц, id: NUMBER |
|
Д customerjd: NUMBER (FK)] ^ order_num: NUMBER |
ф |
first_name: VARCHAR2(20) last_name: CHAR(18) passport_num: CHAR(18) birthday: DATE |
|||
makerjd: NUMBER accept_date: DATE return_date: DATE |
|||
• |
|
REFERENCES ORDER (id, order num));
Таким образом, процесс разработки БД в ERwin фактически представляет собой последовательное продвижение по уровням моделирования от диаграммы сущность-связь до генерации кода, необходимого для физического создания БД.
Oracle Designer
Oracle Designer - это сложное приложение, реализованное в среде СУБД Oracle, состоящее из 2 частей: серверной и клиентской. Серверная сторона Oracle Designer представляет собой репозитарий (хранилище метаданных) и API по управлению репозитарием. Каждый раз, когда выполняется операция добавления, сохранения, удаления и т.д. в одном из инструментов клиентской стороны, изменения посредством API заносятся в репозитарные таблицы. Для проектирования БД серверная часть не нужна, а необходимо использовать клиентскую часть Oracle Designer. Клиентская сторона продукта - это набор инструментов, включающий несколько диаграммеров, навигаторов, утилит преобразования и генераторов, а также утилиты, поддерживающие все этапы разработки системы.
Для проектирования БД используются следующие инструменты Oracle Designer:
] Entity-Relationship Diagrammer - для проектирования КИМПО
и построения диаграммы сущность-связь ] Design Editor - для построения реляционной модели ПрО Фрагмент реляционная модели ПрО вуз представлен на диаграмме, построенной в Design Editor, на рис. 4.17.
J РАС ПИ САН И Е 3АНЯ ТИ И (S
i
t
1
1
1
тч
#
*
7s,
но№р_гр/ппы
#
*
А
ти
п_недели
#
*
А
двнь_нвдели
#
*
78,
нсжер_занятия
*
А
дисциплина
*
А
корпус
*
А
аудитория
*
А
и
д_преподавателя
^ПРЕПОДАВАТЕЛЬ
(Sis
s|
Mm
1*
XI
1-1
*
?8,
ид
*
а
фио
о
ш
дата_рождения
*
А
долж
ностъ
*
А
кафвдра
• • •
\/
рН- |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
0 1 1 * |
XI 1-1 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* * А |
название |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
* А |
фио_начальника |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
о А |
старшее • • • |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
V
]]ГРУППА СТУДЕНТОВ (Sis spravochnik)
А
д|ГИТУЛ_УЧЕБНОГО_ПЛАНА
(Sis_
1
11*11 Н
^УЧЕБНЫЙ_ПРОЦЕСС (Sis_spravochn |
||
i й |
1 1* |
1 1-1 |
# * |
78, |
и д_ти тул а_учеб ного_пл а на |
# * |
А |
дисциплина |
# * |
78, |
сшестр |
# * |
А |
вид_занятии |
* |
78, |
количество часов • • • |
V
А
^СТУДЕНТ (Sis spravochnik)
\
# * |
А |
номер_3 а *-етной _кни ж к и |
* |
А |
ног/ер_группы |
* |
А |
фио |
* |
Ш |
дата_рождения |
* |
А |
пол |
О |
А |
национальность |
* |
78, |
ти п_фи на нси рэвани я |
* |
т |
дата_за числения |
о |
Ш1 |
дата_отчиспения |
#
*
70,
ид
*
А
кафедра
*
78,
номер_спн_|иальности
*
А
форма_обуиени
я
*
?8,
год_при
ема
*
78,
срок_обу-ения
о
т
дата_утверж
дени я
\/
^СПЕЦИАЛЬНОСТЬ
(Sis sp
\
1*
1
1-1
#
* 78,
но1\/ер_по_гос
*
А
название
*
А
квалификация
О
?8ч
направление
• • •
т
Рис. 4.17. Пример реляционной модели, построенной в Design Editor
Для получения физической структуры БД в Oracle Designer используется утилита Generate Database from Server Model, которая создает ddl_фaйл для генерации объектов БД.
