Тема_1 (1122328), страница 5

Файл №1122328 Тема_1 (Презентации лекций С.Д. Кузнецова PDF) 5 страницаТема_1 (1122328) страница 52019-05-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Кузнецов. Базы данных.53 Технология БД. ФунПотребности информационных систем (14)Целостность данных (4)Понятие согласованности, или целостности, данных являетсяключевым понятием баз данных.Фактически, если в ИС поддерживается согласованное хранениеданных в нескольких файлах, можно говорить о том, что в нейподдерживается база данных (БД).Если же некоторая вспомогательная система управления даннымипозволяет работать с несколькими файлами, обеспечивая ихсогласованность, можно назвать ее системой управления базамиданных (СУБД).Требование поддержки согласованности данных в нескольких файлахне позволяет при построении ИС обойтись библиотекой функций: такаясистема должна обладать некоторыми собственными данными (ихпринято называть метаданными), определяющими целостностьданных.В нашем примере ИС должна отдельно сохранять метаданные оструктуре файлов СЛУЖАЩИЕ и ОТДЕЛЫ, а также правила,определяющие условия целостности данных в этих файлах (принятосчитать, что правила также составляют часть метаданных).03.09.2009С.Д.

Кузнецов. Базы данных.54 Технология БД. ФунПотребности информационных систем (15)Языки запросов (1)Но обеспечение целостности данных – это далеко невсе, что обычно требуется от СУБД.Начнем с того, что даже в нашем примерепользователю ИС будет не слишком простополучить, например, общую численность отдела, вкотором работает Петр Иванович Сидоров.Придется сначала узнать номер отдела, в которомработает указанный служащий, а затем установитьчисленность этого отдела.Было бы гораздо проще, если бы СУБД позволяласформулировать такой запрос на языке, болееблизком пользователям.Такие языки называются языками запросов к базамданных.03.09.2009С.Д.

Кузнецов. Базы данных.55 Технология БД. ФунПотребности информационных систем (16)Языки запросов (2)На языке запросов SQL наш запрос можно было бы выразить вследующей форме (запрос 1):SELECT ОТД_РАЗМЕРFROM СЛУЖАЩИЕ, ОТДЕЛЫWHERE СЛУ_ИМЯ = ‘ПЕТР ИВАНОВИЧ СИДОРОВ’ ANDСЛУ_ОТД_НОМЕР = ОТД_НОМЕР;Это пример запроса на языке SQL с «полусоединением»: cодной стороны, запрос адресуется к двум файлам –СЛУЖАЩИЕ и ОТДЕЛЫ, но с другой стороны, данныевыбираются только из файла ОТДЕЛЫ.Условие СЛУ_ОТД_НОМЕР = ОТД_НОМЕР всего лишь«ограничивает» интересующий нас набор записей об отделахдо одной записи, если Петр Иванович Сидоров действительноработает на данном предприятии.Если же Петр Иванович Сидоров не работает на предприятии,то условие СЛУ_ИМЯ = ‘ПЕТР ИВАНОВИЧ СИДОРОВ’ небудет удовлетворяться ни для одной записи файлаСЛУЖАЩИЕ, и поэтому запрос выдаст пустой результат.03.09.2009С.Д.

Кузнецов. Базы данных.56 Технология БД. ФунПотребности информационных систем (17)Языки запросов (3)Возможна и другая формулировка того же запроса (запрос 2):SELECT ОТД_РАЗМЕРFROM ОТДЕЛЫWHERE ОТД_НОМЕР =(SELECT СЛУ_ОТД_НОМЕРFROM СЛУЖАЩИЕWHERE СЛУ_ИМЯ = ‘ПЕТР ИВАНОВИЧ СИДОРОВ');Это пример запроса на языке SQL с вложенным подзапросом.Во вложенном подзапросе выбирается значение поля СЛУ_ОТД_НОМЕРиз записи файла СЛУЖАЩИЕ, в которой значение поля СЛУ_ИМЯравняется строковой константе ‘ПЕТР ИВАНОВИЧ СИДОРОВ’.Если такая запись существует, то она единственная, поскольку полеСЛУ_ИМЯ является уникальным ключом файла СЛУЖАЩИЕ.Тогда результатом выполнения подзапроса будет единственное значение –номер отдела, в котором работает Петр Иванович Сидоров.Во внешнем запросе это значение будет ключом доступа к файлуОТДЕЛЫ, и снова будет выбрана только одна запись, поскольку полеОТД_НОМЕР является уникальным ключом файла ОТДЕЛЫ.Если же на данном предприятии Сидоров не работает, то подзапросвыдаст пустой результат, и внешний запрос тоже выдаст пустой результат.03.09.2009С.Д.

Кузнецов. Базы данных.57 Технология БД. ФунПотребности информационных систем (18)Языки запросов (4)Приведенные примеры показывают, что при формулировкезапроса с использованием SQL можно не задумываться о том,как будет выполняться этот запрос.Среди метаданных базы данных будет содержатьсяинформация о том, что поле СЛУ_ИМЯ является ключевым дляфайла СЛУЖАЩИЕ (т. е. по заданному значению именислужащего можно быстро найти соответствующую запись илиубедиться в том, что запись с таким значением поля СЛУ_ИМЯв файле отсутствует), а поле ОТД_НОМЕР – ключевое дляфайла ОТДЕЛЫ (и более того, оба ключа в соответствующихфайлах являются уникальными), и система сама воспользуетсяэтим.Можно формально доказать, что формулировки запрос 1 изапрос 2 эквивалентны, т.

е. вне зависимости от состоянияданных всегда производят один и тот же результат.03.09.2009С.Д. Кузнецов. Базы данных.58 Технология БД. ФунПотребности информационных систем (19)Языки запросов (5)Наиболее вероятным способом выполнения запроса в обеихформулировках будет выборка записи из файла СЛУЖАЩИЕсо значением поля СЛУ_ИМЯ, равным строке ‘ПЕТРИВАНОВИЧ СИДОРОВ’, взятие из этой записи значения поляСЛУ_ОТД_НОМЕР и выборка из таблицы ОТДЕЛЫ записи стаким же значением поля ОТД_НОМ.Если же, например, возникнет потребность в получении спискасотрудников, не соответствующих занимаемой должности, тодостаточно обратиться к системе с запросом (запрос 3):SELECT СЛУ_ИМЯ, СЛУ_НОМЕРFROM СЛУЖАЩИЕWHERE СЛУ_СТАТ = ‘НЕТ’;Тогда система сама выполнит необходимый полный просмотрфайла СЛУЖАЩИЕ, поскольку поле СЛУ_СТАТ не являетсяключевым, и другого способа выполнения не существует.03.09.2009С.Д.

Кузнецов. Базы данных.59 Технология БД. ФунПотребности информационных систем (20)Транзакции, журнализация и многопользовательский режим (1)Далее, представим себе, что в первоначальной реализацииинформационной системы, основанной на использованиибиблиотек расширенных методов доступа к файлам,обрабатывается операция принятия на работу нового служащего.Следуя требованиям согласованного изменения файлов,информационная система вставляет новую запись в файлСЛУЖАЩИЕ и собирается модифицировать соответствующуюзапись файла ОТДЕЛЫ (или вставлять в этот файл новую запись,если служащий является первым в своем отделе), но именно в этотмомент происходит (например) аварийное выключение питаниякомпьютера.Очевидно, что после перезапуска системы ее база данных будетнаходиться в рассогласованном состоянии (точно будут нарушеныдва последние правила ), а может быть, и оба первые правила.Потребуется выяснить это (а для этого нужно явно проверитьсоответствие данных в файлах СЛУЖАЩИЕ и ОТДЕЛЫ) ипривести данные в согласованное состояние.03.09.2009С.Д.

Кузнецов. Базы данных.60 Технология БД. ФунПотребности информационных систем (21)Транзакции, журнализация и многопользовательский режим (2)Проверку и коррекцию можно выполнить, например,следующим образом.Сгруппировать записи файла СЛУЖАЩИЕ по значениямполя СЛУ_ОТД_НОМЕР.Для каждой группы проверить, существует ли в файле ОТДЕЛЫ запись,значение поля ОТД_НОМ которой равняется значению поляСЛУ_ОТД_НОМЕР записей данной группы; если такой записи в файле ОТДЕЛЫ нет, то исключитьгруппу из файла СЛУЖАЩИЕ и перейти к обработкеследующей группы; иначе посчитать число записей в группе и вычислитьсуммарное значение заработной платы; обновить полученными значениями поля ОТД_РАЗМЕР иОТД_СЛУ_ЗАРП соответствующей записи файла ОТДЕЛЫ иперейти к обработке следующей группы.03.09.2009С.Д.

Кузнецов. Базы данных.61 Технология БД. ФунПотребности информационных систем (22)Транзакции, журнализация и многопользовательский режим (3)Настоящие СУБД берут такую работу на себя, поддерживаятранзакционное управление и журнализацию изменений базы данных.Прикладная система не обязана заботиться о поддержке корректностисостояния базы данных, хотя и должна знать, какие цепочки операцийизменения данных являются допустимыми.Представим теперь, что в информационной системе требуетсяобеспечить параллельную (например, многотерминальную) работу сбазой данных служащих и отделов.Если опираться только на использование файлов, то для обеспечениякорректности на все время модификации любого из двух файловдоступ других пользователей к этому файлу будет блокирован.Таким образом, зачисление на работу Петра Ивановича Сидоровасущественно затормозит получение информации о служащем ИванеСидоровиче Петрове, даже если они работают в разных отделах.Настоящие СУБД обеспечивают гораздо более тонкую синхронизациюпараллельного доступа к данным.03.09.2009С.Д.

Кузнецов. Базы данных.62 Технология БД. ФунОсновные функции и компоненты СУБД (1)СУБД как независимый системный компонент (1)До сих пор мы не вычленяли СУБД из состава информационнойсистемыЗдесь видны два дефекта.Во-первых, очевидно, что СУБД должна поддерживать достаточно развитуюфункциональность. Повторять эту функциональность в каждой ИСнеразумно. С другой стороны, неясно, каким образом можно обеспечитьготовый к использованию компонент СУБД, который можно было бывстраивать в информационные системы.Во-вторых, уже должно быть понятно, что набор файлов можно назватьбазой данных только при наличии метаданных.

На рисунке метаданныеявляются принадлежностью информационной системы, и поэтому,например, файлы СЛУЖАЩИЕ и ОТДЕЛЫ можно эффективно использоватьтолько через нашу гипотетическую систему регистрации служащих.03.09.2009С.Д. Кузнецов. Базы данных.63 Технология БД. ФунОсновные функции и компоненты СУБД (2)СУБД как независимый системный компонент (2)Предположим, что предприятию нужна еще и информационнаябухгалтерская система.Очевидно, что для ее работы также потребуются данные ослужащих и отделах.При показанной выше организации системы возможны дваварианта выполнения задачи, ни один из которых не являетсяудовлетворительным.Теоретически можно «внедрить» бухгалтерскую систему в составсистемы регистрации сотрудников.

Характеристики

Тип файла
PDF-файл
Размер
626,67 Kb
Тип материала
Предмет
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее