Проектирование баз данных

Основные понятия.

 

Информационные системы – системы обработки данных о какой – либо предметной области со средствами накопления, хранения, обновления, поиска и выдачи данных.

Данные – информация (факты, идеи), представленные в форматизированном виде, позволяющие передавать или обрабатывать ее при помощи соответствующих технических средств.

К информационным структурам (моделям) относятся: реляционная, иерархическая, сетевая.

База данных (БД) – реализованная с помощью компьютера информационная структура (модель), отражающая состояние объектов и их отношения.

Система управления базами данных - совокупность языковых и программных средств, предназначенных для создания, ведения и конкурентного использования базы данных многими пользователями.

Модель ER (Entity-Relationship model) - модель «сущность – связь», разработана в 1976 г. с целью упрощения концептуального проектирования баз данных. Основными элементами модели являются сущности, атрибуты, связи (отношения).

Сущность – различимое множество объектов (экземпляров сущности) реального мира с одинаковым набором атрибутов. Примеры сущностей: студент, факультет.

Атрибут - неотъемлемое свойство сущности, по его значению идентифицируется экземпляр сущности. Примеры атрибутов: фамилия, имя, номер группы, специальность.

Ключ  - минимальный набор атрибутов, по значениям которых можно идентифицировать экземпляр сущности. Пример ключа: номер зачетной книжки.

Поле -наименьший поименованный элемент информации, хранящийся в БД

Запись – совокупность полей, соответствующих одному объекту.

Отношение один – к – одному означает, что каждая запись одной таблицы соответствует только одной записи другой таблицы.

Отношение один – ко – многим означает, что каждая запись одной таблицы связана более, чем с одной записи другой таблицы.

Нормализация баз данных – процесс уменьшения избыточности информации.

Первая нормальная форма (1НФ).  Таблица находится в 1НФ, если 1) таблица не имеет повторяющихся записей 2) отсутствуют повторяющиеся группы полей 3) выполняется условие атомарности (неделимости) атрибутов.

Вторая нормальная форма (2НФ).  Таблица находится в 2НФ, если 1) таблица находится в 1НФ 2) любое неключевое поле однозначно идентифицируется ключевым полем.

Третья нормальная форма (3НФ).  Таблица находится в 3НФ, если 1) таблица находится в 2НФ 2) не одно из неключевых полей таблицы не идентифицируется с помощью другого неключевого поля.

Индекс – выражение (поле, поля в составном индексе, структура) позволяющее упорядочить базу данных и обеспечить прямой доступ к записи.

Регулярный (Regular) индекс – хранятся значения индексного выражения для всех записей. Несколько записей могут иметь одинаковое значение индексного выражения.

Уникальный (Unique) индекс – хранятся только неповторяющиеся значения индексного выражения. Если две записи имеют одинаковый индекс, хранится только 1 запись. Таблица может иметь несколько уникальных индексов.

Кандидат(Candidate) индекс – уникальный индекс, не содержит полей с пустыми значениями.

Первичный (Primary) индекс – уникальный индекс, используемый в качестве ключа. Не содержит полей с пустыми значениями, используется для связи таблиц. Таблица может иметь только один первичный ключ



Проектирование баз данных.

 

Проектирование БД включает следующие основные этапы:

1. Выбор предметной области и выбор математической модели БД, наиболее адекватно отражающей связи сущностей данной области.

2. Концептуальная разработка модели, представление инфологической модели БД на ER-диаграмме.

3. Физический этап проектирования выбор рациональной структуры хранения данных и методов доступа к ним, исходя из арсенала методов и средств, который предоставляется разработчику конкретной СУБД.

4. Использование механизма СУБД  для формирования запросов, отчетов и других форм представления данных.

В данном пособии основное внимание уделено 3 и 4 этапам проектирования. При подходе к 3 этапу вы должны четко представлять модель создаваемой БД и составляющих ее таблиц. Ваша БД должна быть нормализована.

1. Описание таблиц проекта. Допустим, в БД представляет две таблицы КЛИЕНТЫ (Client) с полями(атрибутами): код клиента (icdcl), фамилия (cfamcl), Имя (сnamecl), город (cnamecity), N товара (ntovar) и ТОВАРЫ (Tovar) c полями Код товара (icdtovar), Наименование (cnametovar), Цена (nprice), Скидка (nskidka) (Пример: см. таблицу 1).

Таблица 1

Таблица “Client”

Код клиента Фамилия Имя Город N товара
1 Петров Илья Новодвинск 3

Таблица “Tovar”

Код товара Наименование Цена Скидка
3 Телевизор LG 8000 0.05

2.  Создание проекта в оболочке FoxPro. Файл(File) – Создать(New) – Проект (Project).Вам будет предложено назвать файл “proj1.pjx”. Вы можете оставить это название или дать другое. Примечание: каждая структура VFP, представленная в виде файла, имеет свое расширение. Типы файлов и их расширения указаны в Приложении 1.

3. Создание таблиц. З акладку «Данные» (Data). Выберете «Базы данных» (Data Bases) и «Создать» (New –New DataBase). Запускается конструктор таблиц (рис.1).

Рис. 1. Конструктор таблиц.

 

В данном конструкторе вы должны обязательно указать: имена полей (Name)- одним словом, их тип (Type), ширину (Width), количество десятичных знаков у числовых полей (Decimal),.индексированное поле или нет (Index), а у индексированных - тип индекса. Тип индекса указывается на закладке «Индексы». Код клиента (Код товара в таблица Tovar)– ключевое поле и индекс Primary. Номер товара – обычный (Regular) индекс (т.к. номера товаров могут повторяться).

Допустимые виды полей приведены в Приложении 2.

Для удобства использования таблиц, желательно указать название поля по-русски (можно в несколько слов) и значение поля по умолчанию (Default value).

ПРИМЕР 2.1: У ключевых полей в Default value записывается функция RECNO() и тем самым организуется автоматический счетчик записей.

ПРИМЕР 2.2: У полей типа DATE (хронологической даты) в Default value можно записать функцию DATE() –текущая дата.

Возможен также ввод формата и маски ввода.

4. Связь таблиц. Для того, чтобы связать таблицы   заходим в меню View – DATABASE DESINGER. Нажимаем правую кнопку мыши и добавляем (Add table) таблицы client.dbf и tovar.dbf. Затем встаем на поле icdtovar и перетаскиваем его на поле ntovar таблицы client. Получаем связь один-ко-многим.

Рис.2. Связь между таблицами Client и Tovar.

4. Команда BROWSE. Данная команда является самым доступным и мощным средством быстрого доступа к записям таблицы, их просмотра, редактирования и дополнения. Примеры применения команды BROWSE (команды можно сочетать, записав их через «пробел»):

1) Дополнение таблицы новой записью: нажать Ctrl+Y (^Y)

2) Пометить запись к удалению: мышкой кликнуть по крайнему чистому прямоугольнику слева от записи (или ^T). Для физического удаления с диска набрать команду PACK.

3) Запретить изменения в таблице: BROWSE NOEDIT

4) Запретить дополнения таблицы: BROWSE NOAPPEND

5) Вывести только записи, отвечающие условию: BROWSE FOR <условие>

6) Вывести записи только определенных полей: BROWSE поле1, поле2, …

 

5. Команды управления записями. Данные команды приведены в таблице 1.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: