Дружелюбный интерфейс пользователя. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Дружелюбный интерфейс пользователя.



 

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

 

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

 

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

Она предполагает:

• отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте.

• защиту от ошибок при обновлении БД.

• невозможность удаления порознь (каскадное удаление) свя­занных данных разных таблиц;

• неискажение данных при работе в многопользовательском ре­жиме и в распределенных базах данных;

• сохранность данных при сбоях техники (восстановление данных).

 

Рассмотрим используемые при проектировании терминологию и обозначения.

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

• иметь уникальное имя, причём это имя должно всегда однозначно интерпретироваться, и наоборот одна интерпретация не может применяться к различным именам;

• обладать одним или несколькими атрибутами, которые либо принадлежат ей, либо наследуется через связь;

• обладать одним или несколькими атрибутами, которые однозначно идентифицируют каждый её экземпляр.

 

Сущность может быть зависимой и независимой. Признаком зависимой сущности служит наличие у неё наследуемых через связь атрибутов.

 

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

 

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

 

Связи даётся имя, выражаемое глаголом и помещаемое возле линии связи. Есть   характеристика связи — тип связи. Типы связей бывают: «один-к- одному» (1-1), «один-ко-многим» (1-М) и «многие-к-многим» (М-М).

 

Атрибут – любая характеристика сущности, значимая для рассматриваемой предметной области. Атрибут характеризуется именем.

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

 

 

Рассмотрим таблицу.

           

             Заголовок отношений                            Атрибуты

Отношение   

Код ФИО Группа Специальность Пол
1 Иванов И.Л. 35 Техник М
2 Дёмина Р.Н. 25 Программист Ж
3 Петров А.Р. 35 Техник М
4  Жарков Н.Ф. 35 Техник М
5 Черкасова Л.А. 25 Программист Ж

                       Первичный ключ

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

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

 

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

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

· Нельзя включать в состав ключа неуникальное поле, т.е. поле значение которого повторяется.

 

Часто для определения первичного ключа используют поля с автоматической генерацией значений – «счётчики». Вся ответственность по поддержанию уникальности ключа перекладывается на процессор БД. Поле счётчика представляет собой четырёхбайтовое целое число и автоматически увеличивается на единицу при добавлении новой записи.

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

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

 

 

Данные таблицы «Преподаватель»

Таб. № ФИО Уч. степень Уч. звание Код кафедры
101 Андреев А.П. Д-р техн. наук Профессор 01
102 Апухтин И.С. Канд. техн. наук Доцент 01
103 Глухов И.Л. Канд. техн. наук Доцент 01
104 Сеченов Ю.Б. Канд. техн. наук Доцент 01

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

Для манипулирования информацией внутри объектов реляционной базы данных для получения, вставки, удаления или изменения данных в базах данных. используется язык манипулирования данными (Data Manipulation Language, DML).

Языки DML разделяются в основном на два типа: Procedural DMLs – описывают действия над данными; Declarative DMLs – описывают сами данные.

На текущий момент наиболее популярным языком DML является SQL, который предназначен для организации доступа к БД.

Функции языков DML определяются первым словом в предложении (часто называемом запросом), которое почти всегда является глаголом. В случае с SQL это глаголы – «insert» («вставить»), «update» («обновить»), и «delete» («удалить»). Это превращает природу языка в ряд обязательных утверждений (команд) к базе данных.

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

- DDL – язык определения данных;

- DML – язык манипулирования данными;

- DQL – язык запросов;

- DCL – язык управления данными;

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

- команды управления транзакциями.

 

Язык определения данных (Data Definition Language, DDL) позволяет создавать и изменять структуру объектов базы данных, например, создавать и удалять таблицы. Основными командами языка DDL являются следующие: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.

Язык манипулирования данными (Data Manipulation Language, DML) используется для манипулирования информацией внутри объектов реляционной базы данных посредством трех основных команд: INSERT, UPDATE, DELETE.

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

Язык управления данными (Data Control Language, DCL) позволяет управлять доступом к информации, находящейся внутри базы данных. Как правило, команды языка используются для создания объектов, связанных с доступом к данным, а также служат для контроля над распределением привилегий между пользователями. Команды управления данными следующие: GRANT, REVOKE.

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

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

Существуют следующие команды, позволяющие управлять транзакциями базы данных: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

 

Одной из основных задач БД является обеспечение быстрого доступа к данным (поиска данных). Время доступа к данным в значительной степени зависит от используемых для поиска данных методов и способов.

 

Выделяют следующие методы доступа к данным таблиц:

· последовательный;

· прямой;

· индексно-последовательный.

 

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

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

 

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

 

Определение первичных и внешних ключей таблиц БД приводят к созданию индексов по полям, объявленным в составе первичных или внешних ключей

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

 

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

Указанные методы доступа реализуются СУБД и не требуют специального про­граммирования. Задачей разработчика является определение соответствующей структуры БД, в данном случае — определение ключей и индексов. Так, если для поля создан индекс, то при поиске записей по этому полю автоматически используется индексно-последовательный метод доступа, в противном случае — последовательный метод.

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

 

 

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

· навигационный;

· реляционный.

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

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

Способ доступа к данным выбирается программистом и зависит от средств дос­тупа к БД, используемых при разработке приложения. Например, в приложени­ях, создаваемых в Delphi, реализацию навигационного способа доступа можно осуществить посредством компонентов Table или Query, а реляционного — с помощью компонента Query.

Таким образом, методы доступа к данным определяются структурой БД, а спо­собы доступа — приложением.

 



Поделиться:


Последнее изменение этой страницы: 2021-04-13; просмотров: 170; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.199.27 (0.045 с.)