Мегаобучалка Главная | О нас | Обратная связь


Анализ предметной области



2019-12-29 167 Обсуждений (0)
Анализ предметной области 0.00 из 5.00 0 оценок




Оглавление

 

Оглавление. 1

Введение. 2

Анализ предметной области. 3

Выбор средств реализации. 15

Постановка задачи. 17

Реализация проекта. 19

Список используемой литературы.. 30

 

 


Введение

 

Целью данной курсовой работы является создание информационной системы «Учебные планы. Вычитка часов». Проектируемая информационная система состоит из трех составляющих: базы данных, системы управления базой данных и пользовательского приложения. Информационная система соответствует архитектуре клиент-сервер.

Пояснительная записка к курсовой работе состоит из введения, обзора состояния современных СУБД, проектирования базы данных, разработки интерфейса пользователя, руководства пользователя и приложений, содержащих код программной части и метаданные базы данных.

 

 


Анализ предметной области

Основная цель АРМ заключается в том, чтобы предложить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления ими. Следовательно, отправной точкой при проектировании базы данных должно стать абстрактное и общее описание информационных потребностей организации, которые должны найти свое отражение в создаваемой базе данных.

Комитетом ANSI-SPARC был предложен трехуровневый подход. Суть его в идентификации трех уровней абстракции, т.е. трех различных уровней описания элементов данных: внешнего, концептуального и внутреннего. Цель трехуровневой архитектуры заключается в отделении пользовательского представления данных от их физического представления. Ниже причислены причины, по которым желательно выполнять такое разделение:

· каждый пользователь должен иметь возможность обращаться к одним и тем же данным, используя свое собственное представление о них;

· каждый пользователь должен иметь возможность изменять свое представление о данных, причем это изменение не должно оказывать влияния на других пользователей;

· взаимодействие пользователей с данными не должно зависеть от особенностей их хранения;

· администратор базы данных должен иметь возможность изменить структуру хранения данных в базе, не оказывая влияния на пользовательские представления;

· внутренняя структура базы данных не должна зависеть от физических аспектов хранения информации.

Внешний уровень описывает ту часть базы данных, которая относится к каждому пользователю. Это представления базы данных с точки зрения пользователей.

Внутренний уровень это физическое представление базы данных в компьютере. Этот уровень описывает, как информация хранится в базе данных.

 

 

В соответствии с принципами трехуровневого подхода было построено внешнее представление: в базе данных должна быть представлена информация о обучаемых, учебных группах, преподавателях.

Основы реляционной модели данных были впервые изложены в статье Е. Кодда в 1970 г. Эта работа послужила стимулом для большого количества статей и книг, в которых реляционная модель получила дальнейшее развитие. Наиболее распространенная трактовка реляционной модели данных принадлежит К. Дейту [5]. Согласно Дейту, реляционная модель состоит из трех частей:

•   Структурной части.

•   Целостной части.

•   Манипуляционной части.

Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.

Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.

Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными – реляционную алгебру и реляционное исчисление.

В классической реляционной модели используются только простые (атомарные) типы данных. Простые типы данных не обладают внутренней структурой.

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

Отношение состоит из двух частей – заголовка отношения и тела отношения. Заголовок отношения – это аналог заголовка таблицы. Заголовок отношения состоит из атрибутов. Количество атрибутов называется степенью отношения. Тело отношения – это аналог тела таблицы. Тело отношения состоит из кортежей. Кортеж отношения является аналогом строки таблицы. Количество кортежей отношения называется мощностью отношения.

Отношение обладает следующими свойствами:

•   В отношении нет одинаковых кортежей.

•   Кортежи не упорядочены.

•   Атрибуты не упорядочены.

•   Все значения атрибутов атомарны.

Реляционной базой данных называется набор отношений.

Схемой реляционной базы данных называется набор заголовков отношений, входящих в базу данных.

Современные СУБД допускают использование null-значений, т. к. данные часто бывают неполными или неизвестными. Споры о допустимости использования null-значений ведутся до сих пор. Средством, позволяющим однозначно идентифицировать кортежи отношения, являются потенциальные ключи отношения.

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

Традиционно один из потенциальных ключей объявляется первичным ключом, остальные – альтернативными ключами.

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

Отношения связываются друг с другом при помощи внешних ключей.

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

Внешний ключ не обязан обладать свойством уникальности. Поэтому, одному кортежу родительского отношения может соответствовать несколько кортежей дочернего отношения. Такой тип связи между отношениями называется «один-ко-многим».

Связи типа «много-ко-многим» реализуются использованием нескольких отношений типа «один-ко-многим».

В любой реляционной базе данных должны выполняться два ограничения:

· Целостность сущностей.

· Целостность внешних ключей.

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

Правило целостности внешних ключей состоит в том, что внешние ключи не должны ссылаться на отсутствующие в родительском отношении кортежи, т.е. внешние ключи должны быть корректны.

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

Для поддержания ссылочной целостности обычно используются две основные стратегии:

RESTRICT (ОГРАНИЧИТЬ) – не разрешать выполнение операции, приводящей к нарушению ссылочной целостности.

CASCADE (КАСКАДИРОВАТЬ) – разрешить выполнение требуемой операции, но внести каскадные изменения в другие отношения так, чтобы не допустить нарушения ссылочной целостности.

Дополнительными стратегиями поддержания ссылочной целостности являются:

SET NULL (УСТАНОВИТЬ В NULL) – все некорректные значения внешних ключей изменять на null-значения.

SET DEFAULT (УСТАНОВИТЬ ПО УМОЛЧАНИЮ) – все некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию.

В реальных СУБД можно также отказаться от использования какой-либо стратегии поддержания ссылочной целостности:

IGNORE (ИГНОРИРОВАТЬ) – выполнять операции, не обращая внимания на нарушения ссылочной целостности.

При проектировании базы данных основной целью является создание наиболее точного представления данных, связей между ними и требуемых ограничений. И прежде всего, определить отношения. Метод, который используется для решения этой задачи называется нормализацией [13].

Не любое отношение имеет право на существование. Существует ряд требований. Цель этих требований – уменьшение избыточности и вероятности непреднамеренной потери данных. Требования эти могут быть Реляционная база данных должна быть нормализована. Т.е. отношения, образующие БД должны отвечать ряду требований. Процесс нормализации имеет своей целью устранение избыточности данных и предотвращение возможных нарушений целостности.

Сначала (Кодд, 1970) были предложены первые три нормальных формы: 1НФ, 2НФ, 3НФ. Затем было сформулированное более строгое определение третьей нормальной формы, которое получило название нормальная форма Бойса-Кодда. Затем появились 4НФ и 5НФ, на практике используемые крайне редко.

На практике процесс разработки БД сводится к достижению 3НФ. При достаточном опыте проектировщика БД нормализация происходит интуитивно. Либо ее можно использовать в качестве тестов, т.е. повергнуть уже разработанную БД проверке: удовлетворяет ли она требованиям нормализации.

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

Понятие нормальной формы было введено Эдгаром Коддом при создании реляционной модели БД. Основное назначение нормальных форм – приведение структуры базы данных к виду, обеспечивающему минимальную избыточность. Устранение избыточности производится за счёт декомпозиции отношений (таблиц) таким образом, чтобы в каждом отношении хранились только первичные факты (то есть факты, не выводимые из других хранимых фактов). Таким образом, нормализация не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение объёма БД. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в БД информации.

Нормализация может применяться к таблице, которая представляет собой правильное отношение.

Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

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

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

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме (2NF) и при этом любой ее не-ключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A – набор ключевых атрибутов (ключ), B и С – различные множества неключевых атрибутов.

При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.

 

Инфологическая модель

 

Инфологический подход не предоставляет формальных способов моделирования реальности, однако он закладывает основы методологии проектирования БД.

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

Инфологическая модель ПО представляет собой описание структуры и динамики ПО, характера информационных потребностей пользователей системы в терминах, понятных пользователю и независимых от реализации системы. Более того, инфологическая модель ПО не должна зависеть от модели данных, которая будет использована при создании БД.

Обычно описание ПО выражается в терминах не отдельных объектов и связей между ними, а их типов, связанных с ними ограничений целостности и тех процессов ПО, которые приводят к переходу ПО из одного состояния в другое. Такое описание может быть представлено любым способом, допускающим однозначную интерпретацию.

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

· используемых методов анализа предметной области;

· правил именования и обозначения объектов ПО, атрибутов и связей;

· содержания и формата создаваемых ими документов.

База данных содержит четыре таблицы: Учебные планы, Группы, Предметы и Занятия. Таблицы связаны отношениями «один-ко-многим» как показано на ER-диаграмме:

 


Даталогическая модель

 

На этапе даталогического проектирования разрабатывается даталогическая структура БД, соответствующая инфологической модели ПО. Решение этой задачи существенно зависит от модели данных, поддерживаемой выбранной СУБД. Результатом выполнения этого этапа являются схемы БД концептуального и внешнего уровней архитектуры, составленные на языках определения данных (DDL) выбранной СУБД.

На этапе даталогического проектирования строится логическая структура БД. При этом происходит преобразование исходной инфологической модели в модель данных, которая поддерживается конкретной СУБД. После этого производится проверка адекватности даталогической модели, отображаемой предметной области. Конечным результатом даталогического проектирования является описание структуры БД на языке описания данных конкретных СУБД.

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

Не все виды связи существующие в предметной области можно отобразить даталогической моделью. Так большинство СУБД не обеспечивают поддержание связи типа М:М. В этом случае в даталогической модели вводится вспомогательный элемент, т.е. M:N разбивается на два отношения между исходными элементами и вспомогательными (1:M, 1:N).

Ниже приведен DDL-скрипт для создания базы данных:

SET SQL DIALECT 3;

SET NAMES WIN1251;

CREATE DATABASE 'LOCALHOST:C:\MySoft\UP\up.gdb'

USER 'SYSDBA' PASSWORD 'masterkey'

PAGE_SIZE 16384

DEFAULT CHARACTER SET WIN1251;

CREATE TABLE GROUPS (

ID_G INTEGER NOT NULL,

NAZV VARCHAR(4),

GOD INTEGER,

CHISL INTEGER

);

CREATE TABLE PREDM (

ID_P INTEGER NOT NULL,

NAZV VARCHAR(25)

);

CREATE TABLE ZAN (

ID_Z INTEGER NOT NULL,

ID_UP INTEGER,

D DATE,

T TIME,

VID_Z CHAR(1),

H SMALLINT DEFAULT 2

);

CREATE TABLE UP (

ID_UP INTEGER NOT NULL,

ID_G INTEGER,

ID_P INTEGER,

SEM INTEGER,

H_L INTEGER,

H_P INTEGER,

H_L_CALC COMPUTED BY ((select sum(H) from zan where zan.id_up=up.id_up and vid_z='Л')),

H_P_CALC COMPUTED BY ((select sum(H) from zan where zan.id_up=up.id_up and vid_z='П'))

);

CREATE TABLE PREPODS (

ID_P INTEGER NOT NULL,

FIO VARCHAR(30),

DR DATE

);

/* Check constraints definition */

ALTER TABLE ZAN ADD CHECK (VID_Z IN ('Л', 'П'));

ALTER TABLE UP ADD CONSTRAINT UNQ1_UP UNIQUE (ID_G, ID_P, SEM);

ALTER TABLE GROUPS ADD CONSTRAINT PK_GROUPS PRIMARY KEY (ID_G);

ALTER TABLE PREDM ADD CONSTRAINT PK_PREDM PRIMARY KEY (ID_P);

ALTER TABLE UP ADD CONSTRAINT PK_UP PRIMARY KEY (ID_UP);

ALTER TABLE ZAN ADD CONSTRAINT PK_ZAN PRIMARY KEY (ID_Z);

ALTER TABLE UP ADD CONSTRAINT FK_UP_1 FOREIGN KEY (ID_G) REFERENCES GROUPS (ID_G) ON UPDATE CASCADE;

ALTER TABLE UP ADD CONSTRAINT FK_UP_2 FOREIGN KEY (ID_P) REFERENCES PREDM (ID_P) ON UPDATE CASCADE;

ALTER TABLE ZAN ADD CONSTRAINT FK_ZAN_1 FOREIGN KEY (ID_UP) REFERENCES UP (ID_UP) ON UPDATE CASCADE;

ALTER PROCEDURE ADD_ZAN (ID_Z INTEGER, N INTEGER) AS

declare variable d date;

declare variable t time;

declare variable vid_z char(1);

declare variable h smallint;

declare variable id_up integer;

begin

select id_up, d, t, vid_z, h from zan where id_z =:id_z

into:id_up,:d,:t,:vid_z,:h;

while (n>0) do

begin

d = d+7;

insert into zan (id_up, d, t, vid_z, h)

values (:id_up,:d,:t,:vid_z,:h);

n=n-1;

end

end



2019-12-29 167 Обсуждений (0)
Анализ предметной области 0.00 из 5.00 0 оценок









Обсуждение в статье: Анализ предметной области

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (167)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)