Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Определение дополнительных ограничений целостности





Перечислим ограничения целостности, которые не указаны в табл. 14–23.

Это следующие:

1) Значения всех числовых атрибутов – больше 0 (или null, если атрибут необязателен).

2) Область значений атрибута Sex отношения EMPLOYEES – символы 'м' и 'ж'.

3) Отношение ROOMS не имеет первичного ключа, но комбинация значений (R_no, Tel) уникальна.

4) В отношении TITLES порядковые номера авторов на обложке одной книги должны идти подряд, начиная с 1.

5) В отношении TITLES сумма процентов гонорара по одной книге равна 100.

 

Ограничения (4,5) нельзя реализовать в схеме отношения. В реальных БД подобные ограничения целостности реализуются программно (через внешнее приложение или специальную процедуру контроля данных).

Описание групп пользователей и прав доступа

Опишем для каждой группы пользователей права доступа к каждой таблице и к каждому полю (атрибуту):

1) Администратор БД: имеет доступ ко всем данным (по записи), может изменять структуру базы данных и связи между отношениями. Устанавливает права доступа для всех остальных групп.

2) Представители администрации компании: имеют доступ по чтению ко всем данным и доступ по записи к отношениям POSTS, ROOMS и EMPLOYEES.

3) Менеджеры: имеет доступ по чтению ко всем данным, кроме отношения POSTS. Имеют доступ по записи к отношениям AUTHORS, CUSTOMERS, BOOKS, EDITORS, TITLES, ORDERS, ITEMS.

4) Редакторы: имеют доступ по чтению к следующим отношениям:

· AUTHORS, кроме полей A_passp, A_org, A_pdate, A_INN (паспортные данные и ИНН).

· BOOKS, кроме полей B_advance, B_fee (затраты и гонорар).

· EDITORS.

· TITLES.

5) Сотрудники, принимающие и выполняющие заказы: имеют доступ по записи к отношениям CUSTOMERS, ORDERS, ITEMS и по чтению к полям B_title, B_circul, B_price и B_rest отношения BOOKS (название, тираж, цена, непроданный остаток тиража).

Реализация проекта базы данных

Не привязываясь к конкретной СУБД и выполнять описание основных операций по обработки данных на Transact-SQL.

 

Запросы к БД.

Запрос – это команда, которая формулируется для СУБД, и требует предоставитьопределенную информацию, указанную в параметрах команды.

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

В самом простом случае команда SELECT дает инструкцию СУБД для поиска информации в таблице. В этом случае синтаксис команды следующий:

 

SELECT <имя столбца1>, <имя столбца2>,...
FROM <имя таблицы>
[WHERE <условие>]

SELECT - ключевое слово, которое сообщает СУБД, что эта команда является запросом. Все запросы начинаются с этого ключевого слова, за которым следует пробел.

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

FROM - ключевое слово, которое должно быть представлено в каждом запросе. За ним следует пробел, а затем - имя таблицы, используемой в качестве источника информации для запроса.

WHERE - ключевое слово, за которым следует условие, которому должны соответствовать выбираемые значения.

В результате запроса, в самом простом случае, данные выводятся на экран в виде нескольких колонок (одна колонка соответствует одному столбцу в таблице базы данных). Причем это вывод может быть не упорядочен. Обычно строки выдаются в том порядке, в котором они вводятся или хранятся в таблице. Можно упорядочить выходные данные непосредственно с помощью SQL-команд, указав специальное предложение. Но об этом чуть позже.

Если в команде SELECT поставить звездочку (*) вместо списка столбцов, то в результате будет выведена вся информация, содержащаяся в каждом столбце таблицы:

 

SELECT * FROM <имя таблицы>

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

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

Пример: вывести информацию о табельном номере, именах и дате рождения сотрудников:

 

SELECT E_ID,E_NAME, E_BORN FROM Employees

Устранение избыточных, данных.

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

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

SELECT DISTINCT E_BORN FROM Employees

Соединение таблиц.

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

Операция такого рода называется соединением (join) таблиц и является одной из самых мощных операций для реляционных баз данных.

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

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

В запросе, который выполняет соединение, имена таблиц через запятую перечисляются в предложении FROM. При этом полное имя столбца таблицы фактически состоит из имени таблицы, после которого стоит точка и затем имя столбца, например:

 

Employees.E_ID
Employees.E_NAME

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

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

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

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

 

Функции агрегирования


Функции агрегирования (или функции «вычисления результатов») позволяют строить еще более мощные запросы, включающие элементы не только выборки, но уже и некоторой обработки информации, такой как, например, вычисление среднего или максимального значения. Агрегатные функции вставляются в предложение SELECT так же, как и имена столбцов. При этом, аргументом для каждой из этих функций является совокупность значений одного столбца (поля) некоторой таблицы.

В SQL к функциям агрегирования относятся:

 

· COUNT - определяет количество строк или значений поля, которые выбраны в результате выполнения запроса и не являются NULL-значениями;

· SUM - вычисляет арифметическую сумму всех выбранных значений, содержащихся в столбце-аргументе;

· AVG - вычисляет среднее значение всех выбранных значений, содержащихся в столбце-аргументе;

· МАХ - вычисляет наибольшее из всех выбранных значений, содержащихся в столбце-аргументе;

· MIN - вычисляет наименьшее из всех выбранных значений, содержащихся в столбце-аргументе.

 

Аргументам всех агрегатных функций (кроме COUNT (*)) может предшествовать ключевое слово DISTINCT для исключения из аргумента повторяющихся значений.

Пример вывести общее количество заказов:

 

SELECT SUM(O_ID) FROM Orders

Модификация таблиц.

Если необходимо что-то изменить в схеме базы данных, можно воспользоваться оператором ALTER TABLE. Он используется с тем, чтобы изменять определение существующей таблицы: т. е. добавлять, удалять или изменять столбцы в таблицах.

Типичный синтаксис для добавления столбца к таблице:

 

ALTER TABLE <имя таблицы>

ADD <имя столбца> <тип данных> <размер> NULL

Столбец будет добавлен со значением NULL для всех строк таблицы. Новый столбец станет последним по порядку столбцом таблицы.

Также имеется возможность удалять или изменять столбцы, например оператором:

 

ALTER TABLE <имя таблицы>

DROP <имя столбца> <тип данных>

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

2.1.6.1 Выбор варианта сетевого решения СУБД.

На этом этапе принимается решение о создании локальной сети (если в задании на курсовую работу это предусмотрено), выбирается вариант сетевой технологии, формируется список аппаратных и программных средств (см. Приложение 2).

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

Данные и знания.

При обработке на ВМ данные трансформируются условно проходя следующие этапы:

1) данные как результат измерений и наблюдений;

2) данные на материальных носителях информации (таблицы, протоколы, справочники);

3) модели (структуры) данных в виде диаграмм, графиков, функций;

4) данные в компьютере на языке описания данных;

5) базы данных на машинных носителях информации.

 

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

 

1) знания в памяти человека как результат мышления;

2) материальные носители знаний (книги, методические пособия и т.п.);

3) поле знаний - условное описание основных объектов проблемной области, их атрибутов и закономерностей, их связывающих;

4) знания, описанные на языках представления знаний (продукционные языки, семантические сети, фреймы и др.);

5) база знаний на машинных носителях.

 

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

 

1) продукционные модели;

2) семантические сети;

3) фреймы;

4) формальные логические модели.

 

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

 

1) большая гибкость по сравнению с традиционными четкими методами, так как они позволяют описывать знания и опыт человека в привычной для него форме;

2) нечеткие модели более адекватны реальному миру, поскольку позволяют получить решение с учетом индивидуальных особенностей, свойственных не классу объектов исследования, а отдельному объекту этого класса;

3) возможность в ряде случаев более оперативного получения окончательного результата, чем на «точных» моделях, в силу активного использования знаний и опыта человека при построении нечетких операций.

 

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

 

Эти модели используются для решения задач:

1) интерпретации данных;

2) диагностики;

3) прогнозирования;

4) проектирования;

5) управления;

6) поддержки принятия решений.

Интерпретация данных.

Это одна из традиционных задач экспертных систем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Для решения этой задачи используется гибридная нейронная сеть(ГНС) сопряженная с системой нечеткого вывода СНВ).

Диагностика.

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

Прогнозирование.

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

 

Проектирование.

Основная проблема – получение четкого описания знаний о проектируемом объекте, его свойствах. Для организации эффективного проектирования и в еще большей степени перепроектирования необходимо формировать не только сами проектные решения, и мотивы их принятия. Таким образом, в задачах этого класса тесно связаны два основных процесса: процесс вывода решения и процесс объяснения. В этих задачах используется система нечеткого вывода и гибридные нейронные сети.

 

Управление.

Под управлением будем понимать функцию СУ, автоматически (в САУ) и автоматизировано (в АИУС) поддерживающую определенный режим функционирования управляющей и управляемой систем. Для решения этой задачи используется СНВ и ГНС.

 

Поддержка решений.

Поддержка принятия решений – это совокупность процедур, обеспечивающее лицо, принимающее решения(ЛПР), необходимой информацией и рекомендациями, облегчающими процесс принятия решений в проблемной области. В этом классе задач используются СНВ и ГНС.







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право...

ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.