
- •1 Системный анализ и требования к базе данных
- •1.1 Описание предметной области
- •1.2 Объекты предметной области
- •2 Концептуальная (инфологическая) модель предметной области
- •4 Физическая модель проектируемой базы данных в методологии idef1x
- •4.1 Трансформационная модель
- •4.2 Модель субд
- •5 Типы данных
- •6 Работа с базой данных
- •7 Запросы
- •8 Создание отчётов
4 Физическая модель проектируемой базы данных в методологии idef1x
Существует два уровня физических моделей: трансформационная модель и модель СУБД. Физические модели содержат информацию, необходимую системным разработчикам для понимания механизма реализации логической модели в СУБД.
4.1 Трансформационная модель
Целью трансформационной модели является предоставление информации администратору БД для создания эффективной структуры хранения, включающей в себя записи, формирующие БД. Трансформационная модель должна помочь разработчикам выбрать структуру хранения данных и реализовать систему доступа к ним. Перед началом проектирования БД необходимо убедиться в обеспечении следующих требований:
- физическая модель данных должна соответствовать требованиям, предъявляемым к проектируемой системе;
- выбор определенной физической модели должен быть аргументирован;
- должны быть определены возможности наращивания существующей структуры хранения, а также выявлены её ограничения. [3]
4.2 Модель субд
Модель СУБД напрямую транслируется из трансформационной модели, являясь отображением системного каталога. ERwin напрямую поддерживает эту модель через функцию генерации схемы БД. При составлении схемы БД в качестве индексов могут использоваться как ключевой атрибут, так и остальные поля БД.
Целью создания физической модели является обеспечение администратора соответствующей информацией для переноса логической модели данных в СУБД.
ERwin поддерживает автоматическую генерацию физической модели данных для конкретной СУБД
В полученной модели еще необходимо скорректировать типы и размеры полей.
Таким образом, проделав все вышеописанные действия, мы получили модель БД, готовую для помещения в СУБД. Для генерации кода создания БД необходимо выбрать пункт меню Tools- > Forward Engineer/Schema Generation, после чего откроется окно установки свойств генерируемой схемы данных.
Для предварительного просмотра SQL-скрипта служит кнопка Preview, для генерации схемы - Generate. В процессе генерации ERwin связывается с БД, выполняя SQL-скрипт. Если в процессе генерации возникают какие-либо ошибки, то она прекращается, открывается окно с сообщениями об ошибках.
В итоге получим физическую модель, которая автоматически сгенерировалась ERwin, показанную на рисунке 2.
Рисунок 2 - Физическая модель БД
5 Типы данных
Поля таблицы предназначены для хранения в них данных. Это могут быть числа, текстовая информация, даты, графические файлы и т.п. Для определения типа данных, размещенных в поле, используются тип поля, его ширина и количество знаков после запятой. Для их ввода информации на вкладке Fields (Поля) окна Table Designer (Конструктор таблиц) имеется несколько столбцов.
Первый столбец, Name (Имя), используется для ввода имени поля, причем имя не должно повторяться, иначе программа выдаст соответствующее сообщение о недопустимости ввода двух полей с одинаковыми именами. Информация записывается латинскими буквами, что бы поля в таблице приобрели русские названия, имена прописываются в Caption на русском языке.
Введя хотя бы один символ, мы видим, что столбец Type (Тип) принял вид раскрывающегося списка, из которого можно выбирать соответствующее значение.
Следующий столбец – Width (Ширина), в котором указывается размер поля.
Decimal (Десятичные знаки) – эта опция доступна только для полей типа Numeric и позволяет задать количество знаков в числе после запятой.
Столбец Index используется для того, чтобы определить порядок отображения записей – по возрастанию (Ascending) или по убыванию (Descending).
И последний столбец этой вкладки NULL устанавливает, допустимы ли для данного поля значения null.[4]
После определения имен и типов наша таблица примет вид, показанный на рисунке 3.
Таблицы, связанные в базе данных представлены на рисунке 4.
Рисунок 3 – Окно конструктора таблицы Table Designer. Вкладка Fields.
Определение полей таблицы
При определении полей таблицы используется вкладка Fields (Поля), позволяющая ввести наименование поля, тип данных, размещаемых в поле, и ширину. При определении числовых полей необходимо также задать количество десятичных знаков.
Помимо основных параметров, в нижней части вкладки Fields (Поля) для каждого поля можно определить дополнительные параметры, которые будут определять условия ввода в него данных, а также краткое описание, которое поможет разработчику при модификации таблицы в процессе создания приложения или его сопровождения.
Ввод наименований полей
Наименования полей таблицы вводятся на вкладке Fields (Поля) в строке ввода столбца Name (Имя). При задании наименований полей вы можете использовать буквы, цифры и знак подчеркивания. Ваши попытки ввести специальные символы Visual FoxPro проигнорирует.
Длина наименования поля ограничивается 128-ю символами. Вряд ли вы воспользуетесь возможностью задавать такие длинные имена. Обычно для имен полей используют краткие названия, которые более наглядны и легко читаемы.
Visual FoxPro не позволяет иметь в таблице поля с одинаковыми именами. При вводе имени, уже имеющегося в таблице, программа выдает предупреждение, указывающее, что поле с таким именем в таблице уже существует.
Типы полей
Поля таблицы предназначены для хранения в них данных. Это могут быть числа, текстовая информация, даты, графические файлы и т. д.
Для определения типа данных, размещаемых в поле, используются тип поля, его ширина и количество знаков после запятой. Для их ввода предназначены столбцы Туре (Тип), Width (Ширина) и Decimal (Десятичные) вкладки Fields (Поля) конструктора таблиц.
В Visual FoxPro основными являются следующие типы полей:
Текстовый - Текстовые поля могут содержать буквы, цифры и специальные символы. Максимальная ширина поля составляет 254 символа.
Числовой - Integer отображает целые числа от -2147483647 до +2147483647. Тип Integer (Autolnc) используется в том случае, когда необходимо, чтобы значение числа автоматически увеличивалось.
Денежный - В поле денежного типа могут содержаться числа от -922337203685477.5807 до 922337203685477.5807.
Дата - В поле типа Date может содержаться любая дата от 01.01.0001 до 31.12.9999 г.
Дата и время - В поле типа DateTime может содержаться любая дата от 01.01.0001 до 31.12.9999 г. и время от 00:00:00 a.m. до 11:59:59 p.m.
Primary – первичный. Создается уникальный индекс, который используется для связывания таблиц и определения условий целостности данных. Поля, входящие в первичный ключ, не должны допускать ввода пустых значений. В отличие от уникального индекса, таблица может иметь только один первичный ключ.[2]
Regular – регулярный или простой. Данный индекс может быть создан для любого значения поля.[4]
Рисунок 4 – Структура базы данных «ЗАО «Прага» Связывание таблиц.