Требования к базе данных: Требования, предъявляемые к БД — Студопедия

Содержание

Требования, предъявляемые к БД — Студопедия

Правильно спроектированная БД должна удовлетворять следующим требованиям:

1. Минимальная избыточность. Непротиворечивость.

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

3. Независимость данных.

4. Возможность ведения (добавления и удаления) и актуализации (корректировки, модификации) данных.

5. Безопасность и секретность.

6. Высокая производительность. Минимальные затраты.

7. Соблюдение стандартов.

1. Минимальная избыточность означает то, что данные в БД не должны дублироваться. Избыточность данных, если она существует, влечет две опасности:

-неоправданно большой расход памяти;

-нарушение непротиворечивости данных, т.е. возникновение такой ситуации, когда в различных местах машинной памяти хранятся противоречивые данные. Возникновение противоречивости чрезвычайно опасно для БД.

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

2. Целостность данных означает то, что в БД должны храниться только правильные данные. Разрушение и искажение данных возможно в результате неосторожных действий пользователей, в результате ошибок в программах и сбоев оборудования.

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


Существуют специальные методы и приемы обеспечения целостности.

3. Независимость данных означает то, что прикладные программы не должны зависеть от хранимых данных, т.е. от способа хранения данных в физической памяти. Это позволяет добавлять в БД новые данные, изменять структуры хранения данных, создавать на БД новые приложения. Ранее созданные программы при этом не должны «чувствовать» эти изменения. СУБД обычно обеспечивают это требование.

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


5. Безопасность и секретность означает защиту данных от несанкционированного доступа, преднамеренного и непреднамеренного разрушения данных, хищения данных. Система защиты должна иметь:

-средства идентификации пользователей;

-средства ограничения доступа к данным. Каждый пользователь должен работать только с теми данными, которые необходимы для решения его задач, остальные данные должны быть для него «невидимыми»;

-средства, обеспечивающие секретность данных.

Подобные средства содержатся в СУБД или разрабатываются системным программистом.

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

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

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

Руководство по проектированию реляционных баз данных (1-3 часть из 15) [перевод]

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

Другие части: 4-6, 7-9, 10-13, 14-15.

Руководство по проектированию баз данных.
1. Вступление.

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

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

База данных создается для хранения в ней информации и получения этой информации при необходимости. Это значит, что мы должны иметь возможность помещать, вставлять (INSERT) информацию в базу данных и мы хотим иметь возможность делать выборку информации из базы данных (
SELECT
).
Язык запросов к базам данных был придуман для этих целей и был назван Структурированный язык запросов или SQL. Операции вставки данных (INSERT) и их выборки (SELECT) – части этого самого языка. Ниже приведен пример запроса на выборку данных и его результат.

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

Реляционная модель.

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

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

Примеры.

В качестве примеров в руководстве я использовал ряд приложений.

РСУБД.

РСУБД, которую я использовал для создания таблиц примеров – MySQL. MySQL – наиболее популярная РСУБД и она бесплатна.

Утилита для администрирования БД.

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

Визуальное моделирование.

Существует отличное бесплатное приложение MySQL Workbench. Оно позволяет спроектировать вашу базу данных графически. Изображения диаграмм в руководстве сделаны в этой программе.

Проектирование независимо от РСУБД.

Важно знать, что хотя в данном руководстве и приведены примеры для MySQL, проектирование баз данных независимо от РСУБД. Это значит, что информация применима к реляционным базам данных в общем, не только к MySQL. Вы можете применить знания из этого руководства к любым реляционным базам данных, подобным Mysql, Postgresql, Microsoft Access, Microsoft Sql or Oracle.

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

2. История.

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

Так выглядели профессионалы в сфере информационных технологий в 70-е. (Слева внизу находится Билл Гейтс).

Текстовые файлы и сегодня все еще используются для хранения малых объемов простой информации. Comma-Separated Values (CSV) — значения, разделённые запятыми, очень популярны и широко поддерживаются сегодня различным программным обеспечением и операционными системами. Microsoft Excel – один из примеров программ, которые могут работать с CSV–файлами. Данные, сохраненные в таком файле могут быть считаны компьютерной программой.

Выше приведен пример того, как такой файл мог бы выглядеть. Программа, производящая чтение данного файла, должна быть уведомлена о том, что данные разделены запятыми. Если программа хочет выбрать и вывести категорию, в которой находится урок ‘Database Design Tutorial’, то она должна строчка за строчкой производить чтение до тех пор, пока не будут найдены слова

‘Database Design Tutorial’ и затем ей нужно будет прочитать следующее за запятой слово для того, чтобы вывести категорию Software.

Таблицы баз данных.

Чтение файла строчка за строчкой не является очень эффективным. В реляционной базе данных данные хранятся в таблицах. Таблица ниже содержит те же самые данные, что и файл. Каждая строка или “запись” содержит один урок. Каждый столбец содержит какое-то свойство урока. В данном случае это заголовок (title) и его категория (category).

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

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

История реляционной модели.

Реляционная модель баз данных была изобретена в 70-х Эдгаром Коддом (Ted Codd), британским ученым. Он хотел преодолеть недостатки сетевой модели баз данных и иерархической модели. И он очень в этом преуспел. Реляционная модель баз данных сегодня всеобще принята и считается мощной моделью для эффективной организации данных.

Сегодня доступен широкий выбор систем управления базами данных: от небольших десктопных приложений до многофункциональных серверных систем с высокооптимизированными методами поиска. Вот некоторые из наиболее известных систем управления реляционными базами данных (РСУБД):

Oracle – используется преимущественно для профессиональных, больших приложений.
Microsoft SQL server – РСУБД компании Microsoft. Доступна только для операционной системы Windows.

Mysql – очень популярная РСУБД с открытым исходным кодом. Широко используется как профессионалами, так и новичками. Что еще нужно?! Она бесплатна.
IBM – имеет ряд РСУБД, наиболее известна DB2.
Microsoft Access – РСУБД, которая используется в офисе и дома. На самом деле – это больше, чем просто база данных. MS Access позволяет создавать базы данных с пользовательским интерфейсом.
В следующей части я расскажу кое-что о характеристиках реляционных баз данных.

3. Характеристики реляционных баз данных.

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

Каждая строка данных в таблице идентифицируется уникальным “ключом”, который называется первичным ключом. Зачастую, первичный ключ это автоматически увеличиваемое (автоинкрементное) число (1,2,3,4 и т.д). Данные в различных таблицах могут быть связаны вместе при использовании ключей. Значения первичного ключа одной таблицы могут быть добавлены в строки (записи) другой таблицы, тем самым, связывая эти записи вместе.

Используя структурированный язык запросов (SQL), данные из разных таблиц, которые связаны ключом, могут быть выбраны за один раз. Для примера вы можете создать запрос, который выберет все заказы из таблицы заказов (orders), которые принадлежат пользователю с идентификатором (id) 3 (Mike) из таблицы пользователей (users). О ключах мы поговорим далее, в следующих частях.


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

Отсутствие избыточности данных.

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

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


Когда вы создаете таблицу базы данных вы предоставляете тип данных для каждого столбца. К примеру, varchar – это тип данных для небольших фрагментов текста с максимальным количеством знаков, равным 255, а int – это числа.

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

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

— ввод адреса (текста) в поле, в котором вы ожидаете увидеть число
— ввод индекса региона с длинной этого самого индекса в сотню символов
— создание пользователей с одним и тем же именем
— создание пользователей с одним и тем же адресом электронной почты
— ввод веса (числа) в поле дня рождения (дата)

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

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

Большинство РСУБД предлагают настройку прав доступа, которая позволяет назначать определенные права определенным пользователям. Некоторые действия, которые могут быть позволены или запрещены пользователю: SELECT (выборка), INSERT (вставка), DELETE (удаление), ALTER (изменение), CREATE (создание) и т.д. Это операции, которые могут быть выполнены с помощью структурированного языка запросов (SQL).
Структурированный язык запросов (SQL).

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

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

Переносимость.

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

Как говорилось ранее, проектирование базы данных – это вопрос идентификации данных, их связи и помещение результатов решения данного вопроса на бумагу (или в компьютерную программу). Проектирование базы данных независимо от РСУБД, которую вы собираетесь использовать для ее создания.

В следующей части подробнее рассмотрим первичные ключи.

НОУ ИНТУИТ | Лекция | Основные понятия баз данных

Аннотация: В лекции рассматривается общий смысл понятий базы данных (БД) и системы управления базами данных (СУБД). Даются основные понятия, относящиеся к базе данных такие, как алгоритм, кортеж, объект, сущность. Основные требования, предъявляемые к банку данных. Определения БД и СУБД.

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

Рассмотрим общий смысл понятий базы данных (БД) и системы управления базами данных (СУБД).

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

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

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

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

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

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

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

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

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

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


Рис. 1.1. Схема решения задач обработки информации и принятия решений: x-штрих, y-штрих — входная и выходная информация; f — внутреннее операторное описание

Определение основных терминов

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

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

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

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

  1. Данные связаны с конкретной задачей (технология массивов) — упорядочение по использованию. Вместе с тем алгоритмы более подвижны (могут чаще меняться), чем данные. Это вызывает необходимость переупорядочения данных, которые к тому же могут повторяться в различных задачах.
  2. В связи с этим предложена другая, широко используемая технология баз данных, представляющая собой упорядочение по хранению.
КОДАСИЛ (CODASYL) — набор стандартов для сетевых БД.
Кортеж — совокупность полей или запись.
Объект — термин, обозначающий факт, лицо, событие, предмет, о котором могут быть собраны данные.
Сущность — примитивный объект данных, отображающий элемент предметной области (человек, место, вещь и т.д.).

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

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

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

  1. В настоящее время данные обрабатываются децентрализовано (на рабочих местах) с помощью персональных компьютеров (ПК). Первоначально же использовалась централизованная обработка на больших ЭВМ. В силу централизации базу данных называли банком данных и потому часто не делают различия между базами и банками данных.
  2. Банк данных — база данных и система управления ею (СУБД). СУБД (например, FoxPro) представляет собой приложение для создания баз данных как совокупности двумерных таблиц.
Банк данных (БнД) — это система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных.
Базы данных (БД) — это именованная совокупность данных, отображающая состояние объектов и их отношения в рассматриваемой предметной области. Характерной чертой баз данных является постоянство: данные постоянно накапливаются и используются; состав и структура данных, необходимы для решения тех или иных прикладных задач, обычно постоянны и стабильны во времени; отдельные или даже все элементы данных могут меняться — но и это есть проявления постоянства — постоянная актуальность.
Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

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

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

Основные требования, предъявляемые к банкам данных

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

  • Многократное использование данных: пользователи должны иметь возможность использовать данные различным образом.
  • Простота: пользователи должны иметь возможность легко узнать и понять, какие данные имеются в их распоряжении.
  • Легкость использования: пользователи должны иметь возможность осуществлять (процедурно) простой доступ к данным, при этом все сложности доступа к данным должны быть скрыты в самой системе управления базами данных.
  • Гибкость использования: обращение к данным или их поиск должны осуществляться с помощью различных методов доступа.
  • Быстрая обработка запросов на данные: запросы на данные должны обрабатываться с помощью высокоуровневого языка запросов, а не только прикладными программами, написанными с целью обработки конкретных запросов.
  • Язык взаимодействия конечных пользователей с системой должен обеспечивать конечным пользователям возможность получения данных без использования прикладных программ.

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

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

Компоненты банка данных

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

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

  • Информационная база;
  • Лингвистические средства;
  • Программные средства;
  • Технические средства;
  • Организационно-административные подсистемы и нормативно-методическое обеспечение.

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

Пользователи БД и СУБД

Пользователей (СУБД) можно разделить на две основные категории: конечные пользователи; администраторы баз данных.

Особо следует поговорить об администраторе базы данных (АБД). Естественно, что база данных строится для конечного пользователя (КП). Однако первоначально предполагалось, что КП не смогут работать без специалиста-программиста, которого назвали администратором базы данных. С появлением СУБД они взяли на себя значительную часть функций АБД, особенно для БД с небольшим объемом данных. Однако для крупных централизованных и распределенных баз данных потребность в АБД сохранилась. В широком плане под АБД понимают системных аналитиков, проектировщиков структур данных и информационного обеспечения, проектировщиков технологии процессов обработки, системных и прикладных программистов, операторов, специалистов в предметной области и по техническому обслуживанию. Иными словами, в крупных базах данных это могут быть коллективы специалистов. В обязанности АБД входит:

  1. анализ предметной области, статуса информации и пользователей;
  2. проектирование структуры и модификация данных;
  3. задание и обеспечение целостности;
  4. загрузка и ведение БД;
  5. защита данных;
  6. обеспечение восстановления БД;
  7. сбор и статистическая обработка обращений к БД, анализ эффективности функционирования БД;
  8. работа с пользователем.

Краткие итоги

Базы данных (БД) — это именованная совокупность данных, отображающая состояние объектов и их отношения в рассматриваемой предметной области.

Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

Основные требования, предъявляемые к банкам данных: многократное использование данных, простота, легкость использования, гибкость использования, быстрая обработка запросов на данные, язык взаимодействия.

Пользователей (СУБД) можно разделить на две основные категории: конечные пользователи; администраторы баз данных.

Вопросы для самопроверки

  • Дайте определение базы данных.
  • Дайте определение банка данных.
  • Назовите две трактовки банка данных.
  • Что такое система управления базой данных?
  • Основные требования, предъявляемые к банку данных.
  • Что такое данные, информация, знания?
  • Пользователи СУБД и БД?
  • Основные функции администратора БД.
  • Что обеспечивает возможность быстрой и дешевой разработки новых приложений?

НОУ ИНТУИТ | Лекция | Основные понятия баз данных

Аннотация: В лекции рассматривается общий смысл понятий базы данных (БД) и системы управления базами данных (СУБД). Даются основные понятия, относящиеся к базе данных такие, как алгоритм, кортеж, объект, сущность. Основные требования, предъявляемые к банку данных. Определения БД и СУБД.

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

Рассмотрим общий смысл понятий базы данных (БД) и системы управления базами данных (СУБД).

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

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

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

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

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

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

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

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

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

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


Рис. 1.1. Схема решения задач обработки информации и принятия решений: x-штрих, y-штрих — входная и выходная информация; f — внутреннее операторное описание

Определение основных терминов

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

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

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

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

  1. Данные связаны с конкретной задачей (технология массивов) — упорядочение по использованию. Вместе с тем алгоритмы более подвижны (могут чаще меняться), чем данные. Это вызывает необходимость переупорядочения данных, которые к тому же могут повторяться в различных задачах.
  2. В связи с этим предложена другая, широко используемая технология баз данных, представляющая собой упорядочение по хранению.
КОДАСИЛ (CODASYL) — набор стандартов для сетевых БД.
Кортеж — совокупность полей или запись.
Объект — термин, обозначающий факт, лицо, событие, предмет, о котором могут быть собраны данные.
Сущность — примитивный объект данных, отображающий элемент предметной области (человек, место, вещь и т.д.).

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

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

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

  1. В настоящее время данные обрабатываются децентрализовано (на рабочих местах) с помощью персональных компьютеров (ПК). Первоначально же использовалась централизованная обработка на больших ЭВМ. В силу централизации базу данных называли банком данных и потому часто не делают различия между базами и банками данных.
  2. Банк данных — база данных и система управления ею (СУБД). СУБД (например, FoxPro) представляет собой приложение для создания баз данных как совокупности двумерных таблиц.
Банк данных (БнД) — это система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных.
Базы данных (БД) — это именованная совокупность данных, отображающая состояние объектов и их отношения в рассматриваемой предметной области. Характерной чертой баз данных является постоянство: данные постоянно накапливаются и используются; состав и структура данных, необходимы для решения тех или иных прикладных задач, обычно постоянны и стабильны во времени; отдельные или даже все элементы данных могут меняться — но и это есть проявления постоянства — постоянная актуальность.
Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

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

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

Основные требования, предъявляемые к банкам данных

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

  • Многократное использование данных: пользователи должны иметь возможность использовать данные различным образом.
  • Простота: пользователи должны иметь возможность легко узнать и понять, какие данные имеются в их распоряжении.
  • Легкость использования: пользователи должны иметь возможность осуществлять (процедурно) простой доступ к данным, при этом все сложности доступа к данным должны быть скрыты в самой системе управления базами данных.
  • Гибкость использования: обращение к данным или их поиск должны осуществляться с помощью различных методов доступа.
  • Быстрая обработка запросов на данные: запросы на данные должны обрабатываться с помощью высокоуровневого языка запросов, а не только прикладными программами, написанными с целью обработки конкретных запросов.
  • Язык взаимодействия конечных пользователей с системой должен обеспечивать конечным пользователям возможность получения данных без использования прикладных программ.

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

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

Компоненты банка данных

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

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

  • Информационная база;
  • Лингвистические средства;
  • Программные средства;
  • Технические средства;
  • Организационно-административные подсистемы и нормативно-методическое обеспечение.

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

Пользователи БД и СУБД

Пользователей (СУБД) можно разделить на две основные категории: конечные пользователи; администраторы баз данных.

Особо следует поговорить об администраторе базы данных (АБД). Естественно, что база данных строится для конечного пользователя (КП). Однако первоначально предполагалось, что КП не смогут работать без специалиста-программиста, которого назвали администратором базы данных. С появлением СУБД они взяли на себя значительную часть функций АБД, особенно для БД с небольшим объемом данных. Однако для крупных централизованных и распределенных баз данных потребность в АБД сохранилась. В широком плане под АБД понимают системных аналитиков, проектировщиков структур данных и информационного обеспечения, проектировщиков технологии процессов обработки, системных и прикладных программистов, операторов, специалистов в предметной области и по техническому обслуживанию. Иными словами, в крупных базах данных это могут быть коллективы специалистов. В обязанности АБД входит:

  1. анализ предметной области, статуса информации и пользователей;
  2. проектирование структуры и модификация данных;
  3. задание и обеспечение целостности;
  4. загрузка и ведение БД;
  5. защита данных;
  6. обеспечение восстановления БД;
  7. сбор и статистическая обработка обращений к БД, анализ эффективности функционирования БД;
  8. работа с пользователем.

Краткие итоги

Базы данных (БД) — это именованная совокупность данных, отображающая состояние объектов и их отношения в рассматриваемой предметной области.

Система управления базами данных (СУБД) — это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

Основные требования, предъявляемые к банкам данных: многократное использование данных, простота, легкость использования, гибкость использования, быстрая обработка запросов на данные, язык взаимодействия.

Пользователей (СУБД) можно разделить на две основные категории: конечные пользователи; администраторы баз данных.

Вопросы для самопроверки

  • Дайте определение базы данных.
  • Дайте определение банка данных.
  • Назовите две трактовки банка данных.
  • Что такое система управления базой данных?
  • Основные требования, предъявляемые к банку данных.
  • Что такое данные, информация, знания?
  • Пользователи СУБД и БД?
  • Основные функции администратора БД.
  • Что обеспечивает возможность быстрой и дешевой разработки новых приложений?

Требования к проекту базы данных — Студопедия

Элементы проектирования баз данных

Проектирование базы данных (БД) – одна из наиболее сложных и ответственных задач, связанных с созданием автоматизированных информационных систем (АИС).

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

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

Основные требования, которым должен удовлетворять проект БД:

  1. Корректность схемы БД.

База данных должна быть гомоморфным образом моделируемой предметной области, т.е. каждой сущности ПО должны соответствовать данные в памяти ЭВМ, а каждому процессу – адекватные процедуры обработки данных. Корректность подразумевает также логическую непротиворечивость базы данных, которая поддерживается автоматически с помощью средств СУБД.

  1. Обеспечение ограничений на ресурсы вычислительной системы.

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


  1. Эффективность функционирования.

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

  1. Защита данных.

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

  1. Гибкость

Под этим подразумевается возможность развития и адаптации БД к изменениям предметной области и/или требований пользователей. Конечно, нельзя предусмотреть все возможные варианты использования и изменения базы данных. Но в большинстве предметных областей основные сущности и их взаимосвязи относительно стабильны. Меняются только информационные требования, т.е. способы использования данных для решения задач.

  1. Простота и удобство эксплуатации.

Под этим подразумевается соблюдение привычного для пользователя алгоритма работы с данными. От этого не в последнюю очередь зависит количество ошибок пользователя.

Удовлетворение первых 4-х требований обязательно для принятия проекта.

База данных SQl или NoSQL: какую выбрать для проекта?

Масштабируемость. Вертикальная, то есть при росте нагрузки растет производительность сервера. Если в базу поступает большой объем данных, рано или поздно наступит порог вертикального масштабирования — сервер не сможет далее увеличивать производительность. Тогда понадобится горизонтальное масштабирование — параллельная обработка данных в кластере серверов.

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

Самые известные SQL-базы данных

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

Отличается простой установкой, может быть интегрирована с другими СУБД, также интеграция с MySQL есть в любой CMS, фреймворке, языке программирования. Среди минусов — не все задачи выполняет автоматически, если что-то нужное не включено в функционал, придется потратить время на доработку, нет встроенной поддержки OLAP.

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

PostgreSQL — вторая по популярности open source SQL СУБД. У нее много встроенных функций и дополнений, в том числе для масштабирования в кластер и шардинга таблиц. Подходит, если важна сохранность данных, предполагается их сложная структура. Позволяет работать со структурированными данными, но поддерживает JSON/BSON, что дает некоторую гибкость в схеме данных.

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

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

PostgreSQL также можно развернуть в облаке — в отличие от MySQL, она подходит для крупных и масштабных проектов. Кроме того, ее стоит выбрать, если недопустимы ошибки в данных или есть особые требования к базе данных, например поддержка геоданных. Различные расширения PostgreSQL позволяют реализовать многие специализированные запросы.

Нереляционные базы данных, или базы данных NoSQL

Особенности. В отличие от реляционных, в нереляционных базах данных схема данных является динамической и может меняться в любой момент времени. К данным сложнее получить доступ, то есть найти внутри базы что-то нужное — с таблицей это просто, достаточно знать координаты ячейки. Зато такие СУБД отличаются производительностью и скоростью. Физические объекты в NoSQL обычно можно хранить прямо в том виде, в котором с ними потом работает приложение.

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

В них можно хранить данные любого типа и добавлять новые в процессе работы.

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

Четыре вида нереляционных баз данных

Документоориентированные базы данных — данные хранятся в коллекциях документов, обычно с использованием форматов JSON, XML или BSON. Одна запись может содержать столько данных, сколько нужно, в любом типе данных (или типах) — ограничений нет. Внутри одного документа есть внутренняя структура, однако, она может отличаться от одного документа к другому. Также документы можно вкладывать друг в друга.

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

Пример такой базы данных: MongoDB.

Вот так будет выглядеть хранение данных в отдельных документах вместо таблицы со столбцами и строками:

Требования к базе данных — Мегаобучалка

Требования к функциональным характеристикам

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

Виды услуг(Код вида услуг, Название, Тип, Стоимость).

Клиенты (Код клиента, Фамилия, Имя, Отчество, Признак постоянного клиента).

Услуги (Код услуги, Код вида услуги, Код клиента, Дата приема, Дата возврата).

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

Требования к составу и параметрам технических средств

Необходимый объём свободной оперативной памяти для работы программы не более 15 Mb, свободного места на диске для установки программы до 20 Mb, процессор Р400.

Требования к информационной и программной совместимости

База данных должна быть в формате сервера FireBird 2.5, на компьютере должна быть установлена утилита для работы с базами данных IB Expert (IB Expert работает под управлением операционной системы семейства Windows).

Требования к программной документации

Документация к программе должна быть оформлена согласно существующим ГОСТам и содержать следующие разделы:

1. Анализ предметной области

2. Техническое задание

3. Концептуальная модель данных

4. Логическая модель данных

5. Физическая модель данных

6. Вычисляемые поля, генераторы и триггеры

7. Программа и методика испытаний

8. Описание применения

9. Заключение

10. Список использованных источников

11. Текст SQL-скрипта

12. Диаграммы

13. Результаты испытаний

Стадии и этапы разработки

a) Анализ задания на проектирование

b) Разработка концептуальной модели данных

c) Разработка логической модели

d) Разработка физической модели

e) Создание вычисляемых полей, генераторов, триггеров

f) Внесение данных в базу и тестирование работы

g) Документирование согласно существующим ГОСТам

Порядок контроля и приёмки

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



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

 

 

Концептуальная модель данных

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

Концептуальная модель данных состоит из сущностей со своими атрибутами и n-арных связей и используется как средство построения и представления информационных потребностей предприятия.

Проанализировав описание предметной области, выделим объекты, сведения о которых участвуют в описании. Как правило, они мало меняются с течением времени и не зависят от существования других объектов. Сущности изображаются на диаграмме «объект/отношение» в виде прямоугольников. К сущностям относятся объекты: «Клиенты», «Вид работ», «Услуги».

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

«Клиенты» – код клиента

«Услуги» – код услуги

«Вид работ» – код вида работы

Затем проставляем не ключевые свойства (атрибуты) для объектов.

Определенные сущности и атрибуты представлены в таблицах 1-3:

Таблица 1 Сущность Клиенты

KLIENT    
kodklienta PK Код клиента
familiya   Фамилия
imya   Имя
otchestvo   Отчество
ppk   Признак постоянного клиента

 

Таблица 2 Сущность Виды работ

VIDRAB    
kodvida PK Код вида
nazvanie   Название
tip   Тип
stoimost   Стоимость

 

Таблица 3 Сущность Услуги

HIMCHI    
koduslugi PK Код услуги
srochnost   Срочность и сложность
datapr   Дата приема
datavozvr   Дата возврата

Объекты вступают между собой в некоторые смысловые отношения, отображаемые на диаграмме «объект/отношение» в виде овалов (связи). Овалы соединяются отрезками прямых с прямоугольниками, которые соответствуют объектам, участвующим в отношении:

1-М (один-ко-многим) – Услуги-Клиенты (Оказываются), Услуги-Вид работ (Относятся).

Степень участия связи «Оказываются» между сущностями Услуги и Клиенты неполная и имеет показатели кардинальности 1,1 и N,1 соответственно, так как клиентам услуги могут оказываться многократно, а одной записи об услуге соответствует только один клиент.

Степень участия связи «Относятся» между сущностями Услуги и Виды работ неполная и имеет показатели кардинальности 1,1 и N,1 соответственно, так как одни и те же виды работ могут оказываться многократно, а одной записи об услуге соответствует только один вид работ.

Концептуальная диаграмма представлена в приложении В, рисунок 1.

 

Требования к базе данных

В этом разделе содержатся требования Oracle GoldenGate, относящиеся к базе данных Oracle. Они применяются к обоим режимам захвата, если явно не указано иное.

  • Classic Extract по умолчанию захватывает все столбцы. Такое поведение не влияет на репликации лайков. Однако при репликации в хранилище данных может потребоваться обновить все столбцы. Если вы используете процедуру DBMS_LOB.LOADFROMFILE для обновления только столбца LOB, а ваш дополнительный журнал ведется во всех столбцах, Integrated Extract фиксирует ключевые столбцы и LOB, повышая производительность.

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

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

  • Права пользователя базы данных

    и требования к конфигурации описаны в разделе «Установка учетных данных Oracle GoldenGate в с использованием Oracle GoldenGate для Oracle Database ».

  • Если база данных настроена на использование соединения по наследству, файл sqlnet.ora должен содержать параметр bequeath_detach = true .

  • Базы данных Oracle должны быть в режиме ARCHIVELOG , чтобы Extract мог обрабатывать файлы журналов.

  • Базы данных Oracle должны быть в режиме FORCE LOGGING для обеспечения что все транзакционные данные записываются в Redo.

  • Дисковое пространство также требуется для Oracle Функция ограниченного восстановления GoldenGate. Ограниченное восстановление — это компонент Общие средства извлечения контрольных точек. Кеширует долго работающие открытые транзакций на диск через определенные промежутки времени, чтобы обеспечить быстрое восстановление после перезапуск Extract.На каждом ограниченном интервале восстановления (контролируется BRINTERVAL вариант параметра BR ) требуемый диск следующий: для каждой транзакции с кэшированными данными необходимое дисковое пространство обычно составляет 64 КБ плюс округленный размер кэшированных данных до 64к. Не каждая длительная транзакция сохраняется на диске. За Полную информацию об ограниченном восстановлении см. в BR параметр в Ссылка для Oracle GoldenGate .

  • .

    требований к логической и физической базе данных | Small Business

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

    Определение логической базы данных

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

    Требования к логической базе данных

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

    Определение физической базы данных

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

    Требования к физическому хранилищу

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

    .

    Требования к базе данных Microsoft SQL Server для ArcGIS 10.8.x и ArcGIS Pro 2.5 и 2.6 — Системные требования

    Посетите службу поддержки Esri, чтобы получить информацию о политике поддерживаемой среды Esri.

    Поддерживаемые версии баз данных

    Следующие выпуски Microsoft SQL Server являются минимальными сертифицированными версиями, поддерживаемыми ArcGIS. Пакеты обновления SQL Server и накопительные обновления для этих версий поддерживаются, но не сертифицированы.

    Редакции Enterprise / Standard / Developer *

    Microsoft SQL Server 2019 (64-разрядная версия)

    Microsoft SQL Server 2019 на Linux (64-разрядная версия)

    Microsoft SQL Server 2017 (64-разрядная версия)

    Microsoft SQL Server 2017 в Linux (64-разрядная версия)

    Microsoft SQL Server 2016 (64-разрядная версия)

    Microsoft SQL Server 2014 SP3 (64-разрядная версия)

    Express editions

    Microsoft SQL Server 2019 (64-разрядная версия)

    Microsoft SQL Server 2017 (64-разрядная версия)

    Microsoft SQL Server 2016 (64-разрядная версия)

    Microsoft SQL Server 2014 SP3 (64-разрядная версия)

    Примечание.

    * Версия для разработчиков поддерживается только в непроизводственных средах.

    Поддерживаемые операционные системы

    Если ваша система управления базой данных установлена ​​на сервере, на котором установлены продукты ArcGIS, операционная система сервера должна соответствовать системным требованиям продукта ArcGIS, а также требованиям к операционной системе для вашей версии SQL Server.

    Если ваша база данных не установлен на том же сервере, что и продукт ArcGIS, см. Документация Microsoft для операционной системы требования для вашей версии SQL Server.

    Программное обеспечение, необходимое для подключения к SQL Server

    На всех клиентских машинах, которые подключаются напрямую к SQL Server, должен быть установлен клиент SQL Server. Клиенты SQL Server для Microsoft Windows и Linux распространяются Microsoft. Клиенты SQL Server для Windows также доступны на My Esri. Вы должны установить клиент той же или более новой версии, чем база данных SQL Server, к которой вы хотите подключиться. Если вы обновляете SQL Server, одновременно обновляйте и клиенты SQL Server.Когда версия SQL Server больше не поддерживается ArcGIS, соответствующая клиентская библиотека SQL Server также не будет поддерживаться.

    Поддерживаются следующие клиенты SQL Server:

    • SQL Server 2019
      • Драйвер Microsoft ODBC 17 для SQL Server
    • SQL Server 2017
      • Драйвер Microsoft ODBC 17 для SQL Server
    • SQL Server 2016
      • Драйвер Microsoft ODBC 17 для SQL Server
      • Драйвер Microsoft ODBC 13 или 13.1 для SQL Server
    • SQL Server 2014 SP3
      • Драйвер Microsoft ODBC 17 для SQL Server
      • Драйвер Microsoft ODBC 13 или 13.1 для SQL Server
      • Драйвер Microsoft ODBC 11 для SQL Server

    Примечание:

    При подключении из ArcGIS Server на Ubuntu к поддерживаемой версии SQL Server вы должны установить пакет Microsoft unixodbc-dev на всех компьютерах ArcGIS Server в дополнение к драйверу ODBC.

    .

    Требования к базе данных Oracle для ArcGIS 10.8.x и ArcGIS Pro 2.5 и 2.6 — Системные требования

    Посетите службу поддержки Esri, чтобы получить информацию о политике поддерживаемой среды Esri.

    Поддерживаемые версии базы данных

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

    Standard / Standard One / Enterprise Edition:

    Oracle 11g R2 (64 бит) 11.2.0.4

    Standard 2 (SE2) / Enterprise (EE) Editions:

    Oracle 12c R1 (64 bit) 12.1.0.2

    Oracle 12c R2 (64-разрядная) 12.2.0.1

    Oracle 18c (64-разрядная) 18.3.0.0, 18.4.0.0

    Oracle 19c (64-разрядная) 19.3.0.0

    Щелкните здесь, чтобы получить дополнительную информацию о Oracle Patch Support

    Поддерживается операционные системы

    Если ваша система управления базой данных установлена ​​там, где установлены продукты ArcGIS, операционная система должна соответствовать системным требованиям продукта ArcGIS, а также требованиям операционной системы для вашей версии Oracle.

    Если ваша база данных не установлена ​​на том же сервере, что и продукт ArcGIS, см. Документацию Oracle о требованиях к операционной системе для вашей версии Oracle.

    Дополнительные требования к библиотеке форм ST_Geometry

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

    • IBM AIX (64-разрядная версия) — для Oracle 11.2.0.4 минимальный поддерживаемый версия — IBM AIX 6.1.0.0.
    • Linux (64-разрядная версия) — для Oracle 11.2.0.4 минимум поддерживаемых версия — Red Hat Enterprise Linux (RHEL) Server AS / ES 5 — обновление 11.
    • Solaris (64 бит) — для Oracle 11.2.0.4 минимально поддерживаемый версия — Solaris 10 SPARC.
    • Microsoft Windows (64-разрядная версия)

    В Windows вам понадобится последняя версия Microsoft Visual C ++ Redistributable для Visual Studio 2015, 2017 и 2019, установленная на компьютере с базой данных Oracle.Дополнительные сведения см. В последних поддерживаемых загрузках Visual C ++ из службы поддержки Microsoft.

    • Поддержка Oracle Linux основана на документации Oracle о том, что Oracle Linux совместим — как исходный, так и двоичный — с Red Hat Enterprise Linux Server. См. FAQ по Oracle Linux на веб-сайте Oracle.
    • Поддержка Oracle Exadata Database Machine основана на рекомендациях Oracle о том, что программное обеспечение OEM, поддерживающее Oracle Linux и Oracle RAC, совместимо с Oracle Exadata.
    • На уровне подключаемых баз данных поддерживается новая опция, начинающаяся с Oracle 12c, называемая Multitenant Architecture, состоящая из базы данных контейнера, которая может содержать множество подключаемых баз данных. ArcGIS поддерживает ту же функциональность в подключаемых базах данных, что и Oracle 11g R2.

    Требования / ограничения базы данных

    Управление версиями веток поддерживается в Oracle 12.1.0.2 и более поздние версии.

    Должен быть установлен компонент Oracle Text.Компонент «Текст» установлен по умолчанию в Oracle; Однако, если вы не выполнили установку по умолчанию, компонент Текст возможно, не был установлен.

    Поддержка исправлений базы данных Oracle

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

    Программное обеспечение, необходимое для подключения к СУБД

    На вашем клиентском компьютере (например, на том, на котором работает ArcGIS Pro, ArcMap или ArcGIS Server) должны быть установлены соответствующие клиентские файлы базы данных для используемой СУБД. Эти клиентские файлы доступны у соответствующих поставщиков СУБД. См. Раздел Клиенты базы данных для получения дополнительной информации.

    Примечание.

    Клиенты ArcGIS, подключающиеся к Oracle, должны использовать клиент Oracle 12c или новее.

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *