Лекция 2. Введение в реляционную модель данных.

Тесты

Заключение

 

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

 

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

 

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

 

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

 

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

 

 

1 (1) Почему магнитные барабаны обеспечивают большую скорость обменов, чем магнитные диски?

 

(a) +

потому что они быстрее вращаются

(б) -

потому что у них выше плотность записи

(в) +

потому что у них фиксированные магнитные головки

 

1(2) Какого рода файлы наиболее целесообразно сохранять на магнитных лентах?

 

(а) -

прямого доступа

(б) -

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

(в) +

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

 

2 (1) Какими потенциальными преимуществами обладает организация файлов на магнитном диске с записями произвольного размера?

 

(а) +

более эффективно используется основная память

(б) -

более эффективно используется внешняя память

(в) -

уменьшается время доступа к записи файла

 

2 (2) В чем преимущества базовой блочной организации файлов?

 

(a) -

ускоряется работа с внешней памятью

(б) +

более эффективно используется внешняя память

(в) -

более эффективно используется основная память

 

3 (1) Предположим, что в информационной системе, работающей с базой данных из двух файлов с рис. 1.7, нужно реализовать операцию ликвидации отдела. Какие из перечисленных способов выполнения этой операции осмысленны?

 

(а) -

удалить соответствующую запись из файла ОТДЕЛЫ

 

(б) +

до удаления записи о ликвидируемом отделе из файла ОТДЕЛЫ удалить из файла СЛУЖАЩИЕ все записи о служащих, относящихся к этому отделу

 

(в) +

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

 

3 (2) Предположим, что в информационной системе, работающей с базой данных из двух файлов с рис. 1.7, нужно реализовать операцию изменения номера существующего отдела с n на m. Пусть при выполнении одного из шагов этой операции происходит отключение питания компьютера. При каком способе выполнения этой операции описанная в разд. 1.3 процедура восстановления содержимого базы данных позволит сохранить данные о служащих отдела?

 

(а) -

сначала изменить с n на m содержимое поля СЛУ_ОТД_НОМЕР во всех записях файла СЛУЖАЩИЕ, соответствующих служащим данного отдела, а потом изменить с n на m содержимое поля ОТД_НОМЕР нужной записи файла ОТДЕЛЫ

 

(б) -

сначала изменить с n на m содержимое поля ОТД_НОМЕР нужной записи файла ОТДЕЛЫ, а потом изменить с n на m содержимое поля СЛУ_ОТД_НОМЕР во всех записях файла СЛУЖАЩИЕ, соответствующих служащим данного отдела

 

(в) +

в файле ОТДЕЛЫ создать копию записи, соответствующей отделу с номером n, со значением m в поле ОТД_НОМЕР; затем изменить с n на m содержимое поля СЛУ_ОТД_НОМЕР во всех записях файла СЛУЖАЩИЕ, соответствующих служащим данного отдела; в заключение ликвидировать в файле ОТДЕЛЫ исходную запись об отделе с номером n.

 

4 (1) Предположим, что пользователю информационной системы, работающей с базой данных из двух файлов с рис. 1.7, требуется получить номер удостоверения и имя руководителей всех отделов. Какая из перечисленных ниже процедур наиболее эффективно приведет к получению правильных данных? (1 соответствует наименее эффективному способу.)

 

(а) 2

Последовательно выбирать записи из файла СЛУЖАЩИЕ. Для каждой записи последовательно выбирать записи из файла ОТДЕЛЫ до конца файла или до тех пор, пока не будет выбрана запись, значение поля ОТД_РУК которой равняется значению поля СЛУ_НОМЕР текущей записи из файла СЛУЖАЩИЕ. Выдать в результат значения полей СЛУ_НОМЕР и СЛУ_ИМЯ этой записи.

 

(б) 1

Последовательно выбирать записи из файла ОТДЕЛЫ. Для каждой записи последовательно выбирать записи из файла СЛУЖАЩИЕ или до тех пор, пока не будет выбрана запись, значение поля СЛУ_НОМЕР которой равняется значению поля ОТД_РУК текущей записи из файла ОТДЕЛЫ. Выдать в результат значения полей СЛУ_НОМЕР и СЛУ_ИМЯ текущей записи файла СЛУЖАЩИЕ.

 

(с) 3

Последовательно выбирать записи из файла ОТДЕЛЫ. Из очередной записи взять значение поля ОТД_РУК и воспользоваться им как значением ключа файла СЛУЖАЩИЕ по полю СЛУ_НОМЕР. Выдать в результат значения полей ОТД_РУК текущей записи файла ОТДЕЛЫ и СЛУ_НОМЕР записи файла СЛУЖАЩИЕ, выбранной по этому ключу.

 

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

 

(а) Последовательно выбирать записи из файла СЛУЖАЩИЕ. Для каждой записи последовательно выбирать записи из файла ОТДЕЛЫ до тех пор, пока не будет выбрана запись, значение поля ОТД_НОМЕР которой равняется значению поля СЛУ_ОТД_НОМЕР текущей записи из файла СЛУЖАЩИЕ. Выдать в результат значения полей СЛУ_НОМЕР текущей записи файла СЛУЖАЩИЕ и ОТД_РУК текущей записи файла ОТДЕЛЫ.

 

(б) Последовательно выбирать записи из файла ОТДЕЛЫ. Для каждой записи последовательно выбирать те записи из файла СЛУЖАЩИЕ, значение поля СЛУ_ОТД_НОМЕР которых равняется значению поля ОТД_НОМЕР текущей записи из файла ОТДЕЛЫ. Для каждой такой записи выдать в результат значение ее поля СЛУ_НОМЕР и значение поля ОТД_РУК текущей записи файла ОТДЕЛЫ.

 

(в) Последовательно выбирать записи из файла СЛУЖАЩИЕ. Из очередной записи взять значение поля СЛУ_ОТД_НОМЕР и воспользоваться им как значением ключа файла ОТДЕЛЫ по полю СЛУ_НОМЕР. Выдать в результат значения полей СЛУ_НОМЕР текущей записи файла СЛУЖАЩИЕ и ПРО_РУК записи файла ОТДЕЛЫ, выбранной по этому ключу.

 

 

 

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

 

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

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

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

 

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

 

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