Администрирование баз данных

Автор работы: Пользователь скрыл имя, 25 Февраля 2011 в 13:00, курсовая работа

Описание работы

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

Файлы: 1 файл

Курсовая Администрирование баз данных.docx

— 372.92 Кб (Скачать файл)

   IV этап. Выбор способов представления  информации и программного инструментария.

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

   В большинстве СУБД данные можно хранить  в двух видах:

   с использованием форм;

   без использования форм.

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

   V этап. Синтез компьютерной модели  объекта.

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

   Стадия 1. Запуск СУБД, создание нового файла  базы данных или открытие созданной  ранее базы.

   Стадия 2. Создание исходной таблицы или  таблиц.

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

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

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

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

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

   4. База данных должна иметь первичный  ключ. Это необходимо для того, чтобы СУБД могла связать данные  из разных таблиц, например, данные  о клиенте и его заказы.

   Стадия 3. Создание экранных форм.

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

   Стадия 4. Заполнение БД.

   Процесс заполнения БД может проводиться  в двух видах: в виде таблицы и  в виде формы. Числовые и текстовые  поля можно заполнять в виде таблицы, а поля типа МЕМО и OLE – в виде формы.

   VI этап. Работа с созданной базой  данных.

   Работа  с БД включает в себя следующие  действия:

   поиск необходимых сведений;

   сортировка  данных;

   отбор данных;

   вывод на печать;

   изменение и дополнение данных. 

   3.2 Целостность баз данных 

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

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

   Целостность данных — свойство, при выполнении которого данные сохраняют заранее определённый вид и качество.

   Целостность данных

   Обеспечение целостности данных гарантирует  качество данных в таблице. Например, если служащему присвоен идентификатор 123, база данных не должна позволять  другим служащим иметь такое же значение идентификатора. Если существует столбец employee_rating, в котором значения должны находиться в диапазоне от 1 до 5, база данных не должна сохранять в  нем значения, лежащие вне этого  диапазона. Если в таблице есть столбец dept_id, в котором хранятся номера отделов  для служащих, то база данных должна воспринимать только те значения, которые  допустимы в качестве номеров  отделов компании.

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

   Сущностная  целостность

   Доменная  целостность

   Ссылочная целостность

   Пользовательская  целостность

   Сущностная  целостность

   Сущностная  целостность определяет строку как  уникальную сущность в конкретной таблице. Она обеспечивает целостность столбцов идентификаторов или первичного ключа таблицы с помощью индексов и ограничений UNIQUE или PRIMARY KEY.

   Доменная  целостность

   Доменная  целостность — это достоверность  записей в конкретном столбце. Она  включает ограничения типа данных, ограничения формата при помощи ограничений CHECK и правил, а также  ограничения диапазона возможных  значений при помощи ограничений FOREIGN KEY, CHECK, DEFAULT, определений NOT NULL и правил.

   Ссылочная целостность

   Ссылочная целостность сохраняет определенные связи между таблицами при  добавлении или удалении строк. В SQL Server ссылочная целостность основана на связи первичных и внешних ключей (либо внешних и уникальных ключей) и обеспечивается с помощью ограничений FOREIGN KEY и CHECK. Ссылочная целостность гарантирует согласованность значений ключей во всех таблицах. Этот вид целостности требует отсутствия ссылок на несуществующие значения, а также обеспечивает согласованное изменение ссылок во всей базе данных при изменении значения ключа.

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

   Добавления  или изменения строк в связанной  таблице, если в первичной таблице  нет соответствующей строки.

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

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

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

   Правила целостности данных

   Главная особенность SQL-технологий наличие  у сервера СУБД специальных средств  контроля целостности данных, не зависящих  от клиентских программ и привязанных  непосредственно к таблицам. Т.е. принципиально не важно, каким образом  осуществляется доступ к базе данных: через SQL-консоль, через драйвера из приложения Windows, через WWW-connector из Internet-браузера или через DBI-интерфейс Perl. В любом из этих случаев, за контролем целостности данных следит сервер, и при нарушении правил целостности данных сервер известит клиента об ошибке.

   К структурам контроля целостности данных относятся ограничители (constraint), которые  привязаны к столбцам и триггеры (trigger), которые могут быть привязаны  как к столбцам, так и к строкам  в таблице.

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

   SQL-серверы,  как правило, поддерживают следующие  ограничители.

   NOT NULL - проверка на непустое значение. NULL - специальное понятие в СУБД, которое означает "пусто". "Пусто"  и "0(ноль)" не равны друг  другу! 

   UNIQUE - проверка на уникальность. Вставляемое  значение должно быть уникально  для данного столбца по всей  таблице. Может содержать пустые  значения.

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

   SQL-технология  позволяет на уровне столбца  задавать домены значений, т.е.  строго определенные наборы или  диапазоны значений, для помещаемых  в столбец данных. В частности  можно реализовывать ограничения  ссылочной целостности (referential integrity constraint) и проверки фиксированного  условия. Ограничение ссылочной  целостности не позволяет значениям  из столбца одной таблицы принимать  значения кроме как из присутствующих  в столбце другой таблицы. Это  делается при помощи ограничителей  FOREIGN KEY (внешний ключ) и REFERENCES (указатель  ссылки). Таблица, содержащая FOREIGN KEY, считается родительской таблицей. Таблица, содержащая REFERENCES, считается  дочерней таблицей. Внешний ключ  и указатель ссылки могут находиться  в одной таблице, т.е. родительская  таблица одновременно является  дочерней.

   FOREIGN KEY - внешний ключ. Назначает столбец  или комбинацию столбцов в  текущей (родительской) таблице в  качестве внешнего ключа для  ссылки из других таблиц.

   REFERENCES - указатель ссылки (или родительский  ключ). Указывает на столбец (комбинацию  столбцов) в родительской таблице,  ограничивающую значения в текущей  (дочерней) таблице. 

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

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

   CHECK - проверка фиксированного условия.  В данном ограничителе явно  указывается условие, которое  должно выполняться для вставляемого  или модифицируемого значения  в столбце. Например: check (user in 'ALEX','JUSTAS') - в столбце user могут содержаться  только значения 'ALEX' и 'JUSTAS', попытка  вставки значения 'SHTIRLITZ' будет интерпретирована  как ошибочная , check (user_salary between 1000 and 5000) - столбец user_salary может принимать  целочисленные значения в диапазоне  от 1000 до 5000 и т.д. При формировании  условий с некоторыми ограничениями  могут использоваться функции,  например check (user = upper(user)), в данном  случае имя пользователя должно  вводиться только в верхнем  регистре. Есть и ограничения,  например, CHECK не может содержать  подзапросы (SELECT).

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

   Триггеры - это сохраненная откомпилированная  процедура, которая связана с  определенной таблицей. Триггеры, в  отличие от ограничителей, могут  выполнять сколь угодно сложные  манипуляции над данными. Помимо операций модификации и вставки, триггеры могут срабатывать и  при удалении данных из таблицы. Можно  также задавать порядок срабатывания триггера относительно операции, т.е. выполниться ли триггер перед операцией вставки/модификации/удаления значения из столбца (или всей строки) или непосредственно после такой операции.

Информация о работе Администрирование баз данных