Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД теория.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
421 Кб
Скачать
☆
  1. Проектирование баз данных. Словарь данных.

Словарь данных призван помогать пользователю в выполнении следующих функций:

• совместное использование данных с другими пользователями;

• осуществление простого и эффективного управления элементами данных при вводе в систему новых элементов или изменении описания сущест­вующих;

• уменьшение избыточности и противоречивости данных;

• определение степени влияния изменений в элементах данных на всю базу данных;

• централизация управления элементами данных с целью упрощения проектирования базы данных и ее расширения.

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

Прежде всего остановимся на вопросах использования СД при проектировании системы обработки данных.

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

При сборе информации о данных следует установить правила присвоения имен элементам, добиться однозначного толкования различными подразделениями назначения источников и соглашений по присвоению имен, сформулировать приемлемые для всех пользователей описания элементов данных и выявить синонимы. Этот процесс включает несколько итераций и связан с необходи­мостью разрешения конфликтных ситуаций. Отдельные подразделения подчас переоценивают свою роль на предприятии, что приводит при разработке инфор­мационной системы к конфликтам. Разработчику в таких случаях придется выступать в роли арбитра. Если вам не по душе слушать крики: «Судью на мыло!», то для обеспечения эффективного сбора и накопления информации о данных желательно, чтобы все, кто имеет отношение к базе данных, пользова­лись автоматизированным словарем данных.

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

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

  1. Проектирование баз данных. Администрирование базы данных. Защита информации.

;Для успешного функционирования информационной системы, использующей БД, недостаточно выбора СУБД и сервера БД. На начальной стадии запуска информационной системы и в процессе ее эксплуатации необходимо выполнять настройку и различные функции администрирования. Важней­шими задачами администрирования являются защита информации и разгра­ничение доступа пользователей. К числу других немаловажных задач настройки и администрирования также относятся сле­дующие:

• выбор способа размещения файлов на диске;

• определение требуемого объема дисковой памяти;

•распределение информации на диске;

• резервное копирование.

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

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

Движение информации в ЭВМ неразрывно связано с функционирова­нием программ ее обработки и обслуживания, поэтому при рассмотрении защиты информации в ВС говорят об информационно-программном обес­печении (ИПО).

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

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

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

• выделить уязвимые элементы вычислительной системы;

• выявить угрозы для выделенных элементов;

• сформировать требования к системе защиты;

•выбрать методы и средства удовлетворения предъявленным требо­ваниям.

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

  1. Языковые средства СУБД.Язык SQL.

SQL (Stmctured Query Language) — Структурированный Язык Запросов — стан­дартный язык запросов по работе с реляционными БД. Язык SQL появился по­сле реляционной алгебры, и его прототип был разработан в конце 70-х годов в компании IBM Research. Он был реализован в первом прототипе реляционной СУБД фирмы IBM System R. В дальнейшем этот язык применялся во многих коммерческих СУБД и в силу своего широкого распространения постепенно стал стандартом «де-факто» для языков манипулирования данными в реляционных СУБД.

Первый международный стандарт языка SQL был принят в 1989 г. (далее мы будем называть его SQL/89 или SQL1). Иногда стандарт SQL1 также называют стандартом ANSI/ISO, и подавляющее большинство доступных на рынке СУБД поддерживают этот стандарт полностью. Однако развитие информационных тех­нологий, связанных с базами данных, и необходимость реализации переноси­мых приложений потребовали в скором времени доработки и расширения пер­вого стандарта SQL.

В конце 1992 г. был принят новый международный стандарт языка SQL, кото­рый в дальнейшим будем называть SQL/92 или SQL2. И он не лишен недостат­ков, но в то же время является существенно более точным и полным, чем SQL/89. В настоящий момент большинство производителей СУБД внесли изменения в свои продукты так, чтобы они в большей степени удовлетворяли стандарту SQL2.

В 1999 году появился новый стандарт, названный SQL3. Если отличия между стандартами SQL1 и SQL2 во многом были количественными, то стандарт SQL3 соответствует качественным серьезным преобразованиям.

Язык запросов (Data Query Language) в SQL состоит из единственного операто­ра SELECT. Этот единственный оператор поиска реализует все операции реляци­онной алгебры. Как просто, всего один оператор. Однако писать запросы на языке SQL (грамотные запросы) сначала совсем не просто. Надо учиться, так же как надо учиться решать математические задачки или составлять алгоритмы для решения непростых комбинаторных задач. Один и тот же запрос может быть реализован несколькими способами, и, будучи все правильными, они, тем не ме­нее, могут существенно отличаться по времени исполнения, и это особенно важ­но для больших баз данных.

Синтаксис оператора SELECT имеет следующий вид:

SELECT [ALL | DISTINCT] «писок полей> [*)

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

[WHERE Предикат-условие выборки или соединения>]

[GROUP BY <Список полей результата;-]

[HAVING Предикат-условие для группы>]

[ORDER BY <Список полей, по которым упорядочить вывод>]

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

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

В разделе FROM задается перечень исходных отношений (таблиц) запроса.

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

В разделе GROUP BY задается список полей группировки. В разделе HAVING задаются предикаты-условия, накладываемые на каждую группу.

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

В выражении условий раздела WHERE могут быть использованы следующие пре­дикаты:

Предикаты сравнения { =, о, >,<, >=,<= }, которые имеют традиционный смысл.

Предикат Between A and В — принимает значения между А и В. Предикат истинен, когда сравниваемое значение попадает в заданный диапазон, вклю­чая границы диапазона. Одновременно в стандарте задан и противополож­ный предикат Not Between A and В, который истинен тогда, когда сравниваемое значение не попадает в заданный интервал, включая его границы.

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

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

По стандарту в шаблон могут быть включены специальные символы:

символ подчеркивания (__) — для обозначения любого одиночного символа;

символ процента (%) — для обозначения любой произвольной последова­тельности символов;

остальные символы, заданные в шаблоне, обозначают самих себя.

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