Проблемы информационной безопасности

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

· Диски

o Код диска игры - тип поля числовой, обязательное поле для ввода. Повторения не допускаются, так как код уникален для каждого диска. Является ключевым. Значение по умолчанию «0».

o Наименование игры – текстовое поле. Не обязательное поле для ввода данных, так как имя игр может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Жанр игры - текстовое поле. Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Тип носителя- текстовое поле. Не обязательное поле для ввода данных, так как тип носителя может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Дата релиза игры –краткий формат даты. Неиндексированное поле, совпадения допускаются. Отображение элемента выбора – для дат.

o Руссифицированность –логический тип поля. По-умолчанию «нет», неиндексированный.

o Примечания - текстовое поле. Не обязательное поле для ввода данных, так как тип носителя может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

· Издатели

o Код компании издателя – тип поля числовой, обязательное поле для ввода. Повторения не допускаются, так как код уникален для каждого диска. Является ключевым. Значение по умолчанию «0».

o Компания-издатель - текстовое поле. Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Адрес компании – числовое - текстовое поле. Не обязательное поле для ввода данных, так как так как компании издателя может совпадать с адресом компании разработчика. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Телефон компании - текстовое поле. Не обязательное поле для ввода данных, так как так как телефона компания может не иметь. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Е-mail компании – гиперссылка, при нажатию на которую открывается программа «Microsoft Office Outlook». Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются.

o Сайт в интернете –гиперссылка, при нажатии на которую открывается браузер. Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются.

· Разработчики

o Код компании разработчика– тип поля числовой, обязательное поле для ввода. Повторения не допускаются, так как код уникален для каждого разработчика. Является ключевым. Значение по умолчанию «0».

o Компания–разработчик - текстовое поле. Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Адрес компании – текстовое поле. Не обязательное поле для ввода данных, так как компании разработчика может совпадать с адресом компании издателя. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Телефон компании - текстовое поле. Не обязательное поле для ввода данных, так как телефона компания может не иметь . Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Е-mail компании – гиперссылка, при нажатию на которую открывается программа «Microsoft Office Outlook». Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются.

o Сайт в интернете –гиперссылка, при нажатии на которую открывается браузер. Не обязательное поле для ввода данных, так как жанр игры может повторяться. Пустые строки допускаются. Неиндексированное поле, совпадения допускаются.

· Код диска/ издателя

o Код диска – тип поля числовой, обязательное поле для ввода. Повторения допускаются. Является ключевым.

o Код издателя – тип поля числовой, обязательное поле для ввода. Повторения допускаются.

· Код диска/ разработчика

o Код диска – тип поля числовой, обязательное поле для ввода. Повторения допускаются. Является ключевым.

o Код разработчика – тип поля числовой, обязательное поле для ввода. Повторения допускаются.

· Системные требования

o Код диска – тип поля числовой, обязательное поле для ввода. Повторения не допускаются, так как код уникален для каждого диска. Является ключевым.

o Операционная система – текстовое поле. Не обязательное поле для ввода данных, так как телефона компания может не иметь . Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255.

o Частота процессора – текстовое поле. Маска ввода: #.##" ГГц";0;*

o Место на жестком диске – текстовое поле. Маска ввода: ##"Гб";;*

o Оперативная память - текстовое поле. Маска ввода: ####"Мб";;*

o Видеопамять - текстовое поле. Маска ввода: ####"Мб";0;*

o Обязательность наличия выхода в Интернет – логический тип. Значение по умолчанию «0». Описание: Обязательно ли наличие доступа сеть интернет для он-лайн игры (возможность офф-лайн сервера). Тип элемента управления: Флажок

o Необходимость дополнительных устройств -текстовое поле. Не обязательное поле для ввода данных, так как телефона компания может не иметь . Пустые строки допускаются. Неиндексированное поле, совпадения допускаются. Размер поля 255. Описание: Необходимо ли наличие дополнительных устройств(джойстик, геймпад, принтер и т.п.)

Создание SQL запросов

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

Посредством механизма SQL становится возможным как обращаться к содержимому баз Microsoft Access из других приложений (в том числе и приложений от других производителей), так и получать данные для Microsoft Access из внешних приложений, поддерживающих SQL. Кроме того, язык запросов удобно использовать еще в тех случаях, когда нужно получать типовые данные, расположенные в одном и том же месте в строго определенном порядке, но разрабатывать для этого целый стандартный запрос (с таблицами и прочими атрибутами) совершенно излишне. Это также позволяет на примерах и относительно быстро разобраться в языке запросов, за счет того, что внутри любого запроса или таблицы Microsoft Access на самом деле "лежит" запись на SQL.

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

При желании, с ними можно поэкспериментировать для лучшего понимания.

Переключение "в SQL" делается следующим образом:

· необходимо активизировать интересующий объект, например, в поле конструктора запроса (см. рис. 7.1),

· навести маркер мыши в любое место окна запроса или таблицы,

· нажатием правой клавиши мыши включить контекстно-зависимое меню.

Проблемы информационной безопасности - student2.ru

Рис. 7.1 – Выбор режима SQL

Выбрав РЕЖИМ SQL, преобразуем запрос в набор предложений языка запросов. Теперь можно, в зависимости от желания, либо просто просмотреть запись, либо что-нибудь в ней подредактировать.

Потом, когда нужда в SQL отпадет, можно все вернуть в исходное состояние. Это делается опять же через контекстно-зависимое меню мыши, которое, правда, имеет несколько другой вид. В нем существует РЕЖИМ ТАБЛИЦЫ, который превращает набор предложений языка запросов в привычный графический модуль.

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

В появившемся окне пишем запрос и выборку, учитывая синтаксис.

Синтаксис SQL

Прописные буквы

Прописными буквами пишутся ключевые и зарезервированные слова, которые должны быть введены в том виде, в котором они написаны. Правда, Microsoft Access "понимает" ключевые слова, которые написаны не только прописными, но и строчными буквами.

Курсив

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

Угловые скобки < >

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

Квадратные скобки [ ]

В квадратные скобки заключаются необязательные элементы, разделяемые символом "вертикальная черта" |.

Фигурные скобки { }

Фигурные скобки заключают в себе один или несколько элементов, разделенных вертикальной чертой.

Многоточие ...

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

Ядром языка запросов является инструкция SELECT. Она используется каждый раз, когда нужно просмотреть или выбрать строку или столбец таблицы базы данных. Инструкцию SELECT <список полей> используют пять базовых предложений языка запросов:

- FROM <список таблиц>

- [WHERE <спецификация выбора строк>]

- [GROUP BY <спецификация группировки>]

- [HAVING <спецификация выбора групп>]

- [ORDER BY <спецификация сортировки>]

В языке запросов, реализованном в Microsoft Access, поддерживаются четыре крайне важных дополнительных расширения: TRANSFORM (позволяет строить перекрестные запросы), IN (создание связи с удаленной базой данных), DISTINCTROW (определение запроса-объединения с потенциальной возможностью объединения данных), WITH OWNER-ACCESS OPTION (позволяет создавать специализированные запросы, которые может выполнять пользователь, не имеющий права доступа к таблицам, которыми оперирует данный запрос).

Базовой конструкцией языка запросов является выражение, например:

[+|-] {функция | (выражение) | литерал |имя_столбца}

[{ + | - | * | / | \ | ^ | MOD | &} {функция | (выражение) | литерал | имя_столбца} ]...

В качестве функции могут быть использованы итоговые функции SQL, например такие, как AVG, COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR или VARP. Кроме того, в качестве функции могут применяться встроенные функции Microsoft Access и даже встроенного языка Access Basic.

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

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

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

Ограничение тут всего одно: оперировать можно только теми таблицами, которые предварительно описаны в списке предложения FROM текущей инструкции. В противном случае Microsoft Access откажется понимать такое предложение, что приведет к ошибке. Если одно и то же имя столбца применяется в нескольких таблицах сразу, то нужно обязательно указывать еще и имя таблицы [Таблица Альфа].[Столбец 1]

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

Запросы

1)Запросы на выборку:

· Запрос на новые игры – осуществляет выборку игр не старше 1 года.

SELECT Диски.[Код диска игры], Диски.[Наименование игры], Диски.[Жанр игры], Диски.[Тип носителя], Диски.[Дата релиза игры], Year(Date())-Year([Диски]![Дата релиза игры]) AS Возраст

FROM Диски

WHERE (((Year(Date())-Year([Диски]![Дата релиза игры]))<=1));

· Запрос на поиск игр по названию игры – осуществляет выборку игры по введенному названию.

SELECT Диски.[Код диска игры], Диски.[Наименование игры]

FROM Диски

WHERE (((Диски.[Наименование игры])=[Введите название игры]));;

· Запрос на поиск игр по издателю – осуществляет выборку игры по введенному названию издателя.

SELECT [Код диска/ издателя].[Код диска], Диски.[Наименование игры]

FROM [Код диска/ издателя] INNER JOIN Диски ON [Код диска/ издателя].[Код диска] = Диски.[Код диска игры]

WHERE ((([Код диска/ издателя].[Код издателя])=[Укажите код компании издателя]))

GROUP BY [Код диска/ издателя].[Код диска], Диски.[Наименование игры];

· Запрос на поиск игр по разработчику – осуществляет выборку игры по введенному названию разработчика.

SELECT [Код диска/ разработчика].[Код диска], Диски.[Наименование игры]

FROM Диски INNER JOIN [Код диска/ разработчика] ON Диски.[Код диска игры] = [Код диска/ разработчика].[Код диска]

WHERE ((([Код диска/ разработчика].[Код компании разработчика])=[Укажите код компании разработчика]))

GROUP BY [Код диска/ разработчика].[Код диска], Диски.[Наименование игры];

· Запрос на поиск игр по жанру– осуществляет выборку игры по введенному названию жанра игры.

SELECT Диски.[Код диска игры], Диски.[Наименование игры], Диски.[Жанр игры]

FROM Диски

WHERE (((Диски.[Жанр игры])=[Укажите жанр]));

2)Запрос на обновление

· Запрос на изменение адреса разработчика – позволяет изменить поле «Адрес компании» в таблице «Разработчики»

UPDATE Разработчики SET

WHERE (((Разработчики.[Адрес компании])=[Новый адрес компании]));

· Запрос на изменение адреса издателя – позволяет изменить поле «Адрес компании» в таблице «Издатели»

UPDATE Разработчики SET

WHERE (((Издатели.[Адрес компании])=[Новый адрес компании]));

3)Запрос на удаление

· Запрос на удаление – позволяет удалить игру и всю информацию о ней.

DELETE Диски.[Код диска игры]

FROM Диски

WHERE (((Диски.[Код диска игры])=[Введите код удаляемой игры]));

Заключение

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

Проектирование заключалось в построении инфологической модели, разработке на её основе реляционной модели и реализации базы в Microsoft Access.

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

Наши рекомендации