В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Champagne
Champagne
13.10.2022 05:49 •  Информатика

Проанализируйте схему, на следующем ри-
сунке, и выпишите формулу для функции f:

Показать ответ
Ответ:
pepka1
pepka1
22.04.2023 12:38

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

Традиционно, эта категория моделей данных подразумевает три вида: реляционная модель, модель «ключ-значение» и иерархическая модель данных.

1. Реляционная модель – настоящая «классика», пик популярности которой пришелся на 90-е, хотя она и сейчас не сдает своих позиций. Во многом благодаря таким своим преимуществам, как занимать довольно мало места, доступность в смысле понимания ее структуры и механизмов, удобный язык запросов SQL и поддержка множества вариантов использования. Впрочем, почти каждый, кто сталкивался с этой моделью данных на практике – и особенно в случае больших данных – укажет на ее существенные недостатки: относительно низкая скорость работы при высоких затратах на прикладное программирование, а также заметная «сложносочиненность», со всеми вытекающими из этого потенциальными «косяками».

реляционная БД2. Модель «ключ-значение» предполагает наличие записей, в которых ключ (обычно, набор байтов) связан напрямую со значением (обычно другой набор байтов). Используется такая технология тогда, когда «исходный материал» не требует сложного реляционного подхода. База данных, построенная на модели «ключ-значение» будет работать быстро во многом за счет возможности сжатия записей (они одинаковы по размеру и имеют повторяющиеся данные) – и понять структуру такой базы будет гораздо проще. Однако отсутствие схемы, невозможность проверки данных на непротиворечивость и куда более сложная логика внедрения выглядят во многих случаях существенными недостатками.

736c6079

 

3. Иерархическая модель стала популярной относительно недавно. Главное преимущество такой структуры – в эргономике: данные хранятся и извлекаются из БД точно в том виде, в котором они хранятся в объектах приложения. То есть в общем случае, все данные, касающиеся одного реального объекта, хранятся в одной записи со множеством разных ключей и значений, причем последние в свою очередь могут быть ассоциированы с другими ключами и значениями. Для хранения данных в этом случае понадобится больше места, чем в случае реляционной модели (хотя в последнее время это становится все менее и менее критичным), зато построение запросов существенно облегчается – ведь этот процесс сводится к извлечению единственной записи из единственной таблицы.

5

 

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

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

Объяснение:

жду балов

0,0(0 оценок)
Ответ:
EeThreeMan
EeThreeMan
26.09.2022 11:16
Первая программа предназначена ТОЛЬКО для Pascal.ABC, в другой среде она работать не будет. Она самая короткая и простая. Метод Split разбивает исходную строку на слова по символу пробела и формирует динамический массив. Что бы мы ни вводили, мы всегда будем получать в результате то, что требовалось. (понятно, что если слов будет меньше трех, будем получать то, что ввели).

var
  s: string;
  ms: array of string;

begin
  Write('Введите три слова через пробел: ');
  Readln(s);
  ms := s.Split(' ');
  Writeln(ms[0] + ' ' + ms[2] + ' ' + ms[1])
end.

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

var
  s, s1, s2, s3: string;
  n, p: integer;

begin
  Write('Введите три слова через пробел: ');
  Readln(s);
  n := Length(s);
  p := Pos(' ', s);
  s1 := Copy(s, 1, p - 1);
  s3 := Copy(s, p + 1, n - p);
  p := Pos(' ', s3);
  s2 := Copy(s3, 1, p - 1);
  n := Length(s3);
  s3 := Copy(s3, p + 1, n - p);
  Writeln(s1 + ' ' + s3 + ' ' + s2)
end.

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

var
  s: string;
  ms: array[1..3] of string;
  i, n, p, j: integer;

begin
  Write('Введите три слова через пробел: ');
  Readln(s);
  {
  Алгоритм: Просматриваем все символы строки начиная с позиции p
  и при обнаружении пробела в позиции q заносим в массив очередное слово,
  копируя q-p символов, начиная с p. Затем заносим в p значение q+1
  и продолжаем просмотр. При старте принимаем p=1
  }
  p := 1; j := 0; n := Length(s);
  for i := 1 to n do
    if s[i] = ' ' then
    begin
      j := j + 1;
      if j <= 3 then begin{ если введено больше двух пробелов }
        ms[j] := Copy(s, p, i - p);
        p := i + 1
      end
    end;
  if j < 3 then ms[3] := Copy(s, p, n - p + 1);
  Writeln(ms[1] + ' ' + ms[3] + ' ' + ms[2])
end.

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

Введите три слова через пробел: Зебра полосатая лошадь
Зебра лошадь полосатая
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота