|
Определение дополнительных ограничений целостностиПеречислим ограничения целостности, которые не указаны в табл. 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>,... 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 Однако применять такой вид записи на практике имеет смысл только в том случае, если запрос строится для таблиц, в которых содержатся столбцы с одинаковыми именами. В других случаях SQL хватает "интеллекта", чтобы присвоить соответствующий префикс в виде имени таблицы. Запрос SELECT для нескольких таблиц выглядит так же, как и запрос к одной таблице, за исключением того, что здесь перечисляются несколько таблиц и могут использоваться полные имена столбцов. Для того, чтобы операция соединения выполнялась правильно, в запросе должны быть учтены связи между соединяемыми таблицами. Это делается в предикате предложения where, где выставляются условия сравнения внешних и родительских ключей (разумеется, могут быть и другие типы условий). В операции соединения можно указывать любое число таблиц, используя в предложении WHERE любые возможные реляционные и булевы операторы.
Функции агрегирования
В 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) поддержки принятия решений. Интерпретация данных. Это одна из традиционных задач экспертных систем. Под интерпретацией понимается процесс определения смысла данных, результаты которого должны быть согласованными и корректными. Для решения этой задачи используется гибридная нейронная сеть(ГНС) сопряженная с системой нечеткого вывода СНВ). Диагностика. Под диагностикой принято понимать процесс соотнесения объекта с некоторым классом объектов и/или обнаружение неисправности в некоторой системе. В курсовой работе предусматривается диагностика программных, информационных, технических средств СУ. К этому классу задач отнесена оценка уровня морального старения средств вычислительной техники, используемой в СУ. Для решения этих задач используется ГНС. Прогнозирование. Прогнозирование позволяет предсказывать последствие событий, явлений, реализации принятых решений в проблемной области на основании имеющихся данных. Для прогнозирования рекомендуется использовать ГНС. Так, например, прогнозирование уровня морального старения средств вычислительной техники, используемой в СУ.
Проектирование. Основная проблема – получение четкого описания знаний о проектируемом объекте, его свойствах. Для организации эффективного проектирования и в еще большей степени перепроектирования необходимо формировать не только сами проектные решения, и мотивы их принятия. Таким образом, в задачах этого класса тесно связаны два основных процесса: процесс вывода решения и процесс объяснения. В этих задачах используется система нечеткого вывода и гибридные нейронные сети.
Управление. Под управлением будем понимать функцию СУ, автоматически (в САУ) и автоматизировано (в АИУС) поддерживающую определенный режим функционирования управляющей и управляемой систем. Для решения этой задачи используется СНВ и ГНС.
Поддержка решений. Поддержка принятия решений – это совокупность процедур, обеспечивающее лицо, принимающее решения(ЛПР), необходимой информацией и рекомендациями, облегчающими процесс принятия решений в проблемной области. В этом классе задач используются СНВ и ГНС. Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|