Базы данных Тема 1. Банк данных 05: 38 1
Введение • • 05: 38 Понятие Бн. Д Компоненты Бн. Д Администраторы Бн. Д Пользователи Бн. Д Предпосылки создания Бн. Д Преимущества и недостатки Бн. Д Требования к Бн. Д Классификация Бн. Д 2
Банк данных • Банк данных (Бн. Д) - современная форма организации хранения и доступа к информации. • Банк данных – это система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных. 05: 38 3
Компоненты банка данных 05: 38 4
Информационная компонента • База данных — это поименованная совокупность взаимосвязанных данных, находящихся под управлением СУБД. • База данных – это объективная форма представления и организации совокупности данных (например, статей, расчетов), систематизированных таким образом, чтобы эти данные могли быть найдены и обработаны с помощью ЭВМ 05: 38 5
Программные средства Бн. Д 05: 38 6
Языковые средства Бн. Д 05: 38 7
Принципы языков 4 -го поколения • • Принцип минимума работы: язык должен обеспечить минимум усилий, чтобы "заставить" машину работать. Принцип минимума мастерства: работа должна быть так проста, как только это возможно. Принцип естественности языка. Язык не должен требовать от пользователей значительных усилий в изучении синтаксиса или содержать много мнемонических или иных обозначений, которые быстро забываются. Принцип минимума времени. Язык должен позволять без существенной задержки реализовывать возникающие потребности в доступе к информации и ее обработке. Принцип минимума ошибок. Технология должна быть спроектирована таким образом, чтобы минимизировать ошибки человека, а уж если они возникли, то, по возможности, "выловить" их автоматически. Принцип минимума поддержки. Механизм языков четвертого поколения должен позволить легко вносить изменения в имеющиеся приложения. Принцип максимума результата. Мощный инструмент для решения разнообразных задач. 05: 38 8
Компоненты языка четвертого поколения
Достаточно часто бывает, что в рамках одной СУБД для одних и тех же целей могут использоваться языки разных типов. Так, например, во многих СУБД (d. Base, Fox. Pro , и др. ) для манипулирования данными могут использоваться: • • • табличный язык запросов типа QBE язык SQL — аналитический ЯЗ, относящийся к классу языков исчисления кортежей процедурный язык программирования 05: 38 10
Технические средства Бн. Д 05: 38 11
Организационнометодические средства • различные инструкции, методические и регламентирующие материалы, предназначенные для пользователей разных категорий, взаимодействующих с банком данных. • инструкции конечным пользователям по работе с базой данных, документы, определяющая права доступа и регламент работы; • методики проектирования баз. 05: 38 12
Администраторы Бн. Д, функции 1 Анализ предметной области: описание предметной области, выявление ограничений целостности, определение статуса информации, определение потребностей пользователей, определение статуса пользователей, определение соответствия "данные – пользователь", определение объемно -временных характеристик обработки данных. 2 Проектирование структуры базы данных: определение состава и структуры информационных единиц, составляющих базу данных, задание связей между ними, выбор методов упорядочения данных и методов доступа к информации, описание структуры БД на ЯОД. 05: 38 13
Администраторы Бн. Д , задачи 3 Задание ограничений целостности при описании структуры базы данных и процедур обработки БД 4 Первоначальная загрузка и ведение базы данных 5 Защита данных от несанкционированного доступа • Обеспечение парольного входа в систему • Обеспечение защиты конкретных данных: определение прав доступа групп пользователей и отдельных пользователей, определение допустимых операций над данными для отдельных пользователей, • Тестирование средств защиты данных. • Фиксация попыток несанкционированного доступа к информации. • Исследование возникающих случаев нарушения защиты данных и проведение мероприятий по их предотвращению. 14
6 Защита данных от разрушений. Одним из способов защиты от потери данных является резервирование. Используется как при физической порче файла, так и в случае, если в БД внесены нежелательные необратимые изменения. 7 Обеспечение восстановления БД: разработка программнотехнологических средств восстановления БД, организация ведения системных журналов. 8 Анализ обращений пользователей к БД: сбор статистики обращений пользователей к БД, ее хранение и анализ (кто из пользователей, к какой информации, как часто обращался, какие выполнял операции, время выполнения запросов, анализ причин безуспешных (в т. ч. и аварийных) обращений к БД. 9 Анализ эффективности функционирования Бн. Д и развитие системы: анализ показателей функционирования системы (время обработки, объем памяти, стоимостные показатели), реорганизация и реструктуризация баз данных, изменение состава баз данных, развитие программных и технических средств. 05: 38 15
10 Работа с пользователями: сбор информации об изменениях в предметной области, об оценке пользователями работы Бн. Д, определение регламента работы пользователей с Бн. Д, обучение и консультирование пользователей. 11 Подготовка и поддержание системных программных средств: сбор и анализ информации о СУБД и других ПП, приобретение программных средств, их установка, проверка работоспособности, поддержание системных библиотек, развитие программных средств. 12 Организационно-методическая работа: выбор или создание методики проектирования БД, определение целей и направлений развития системы, планирование этапов развития Бн. Д, разработка и выпуск организационно-методических материалов.
Связи администратора Бн. Д 05: 38 17
Пользователи Бн. Д 05: 38 18
Особенности Бн. Д • Базы данных создаются для многоцелевого использования. • Базы данных отражают определенную часть реального мира. Вся информация, описывающая предметную область, фиксируется однократно, накапливается и поддерживается в актуальном состоянии централизовано, а все пользователи, имеют возможность работать с ней. • Базы данных – это специальным образом организованные данные. БД - система взаимосвязанных данных, единство и целостность которых поддерживается специальными программными средствами. • Для функционирования Бн. Д необходимо наличие специальных языковых и программных средств (называемых СУБД – Система Управления Базами Данных), облегчающих для пользователей выполнение всех операций, связанных с организацией хранения данных, их корректировки и доступа к ним. 05: 38 19
Преимущества Бн. Д • Наличие единого отображения определенной части реального мира позволяет обеспечить непротиворечивость и целостность информации, возможность обращаться к ней не только при решении заранее предопределенных задач, но и с нерегламентированными запросами. • Интегрированное хранение сокращает избыточность хранимых данных, что приводит к сокращению затрат не только на создание и хранение данных, но и на поддержание их в актуальном состоянии. • Использование БД должно привести к обеспечению большей доступности данных для всех категорий сотрудников, сокращению документооборота, возможности получения разнообразных по форме и содержанию документов, перераспределению функций между сотрудниками и изменению характера выполняемых функций и, как следствие, улучшить всю систему управления предприятием. 20
Преимущества Бн. Д • Использование СУБД обеспечивает высокое качество выполнения функций по управлению данными и облегчает процесс создания информационных систем (ИС). • Выделение специальной группы сотрудников, выполняющих функции по проектированию и развитию БД (администраторов БД), и освобождение от этих функций всех остальных пользователей не только приводит к снижению требований к остальным участникам процесса создания и функционирования БД, но и повышает качество разработок, так как вопросами организации данных занимается небольшое число профессионалов в этой области. • независимость прикладных программ от данных, чем это возможно при организации локальных файлов. 05: 38 21
Недостатки Бн. Д • Создание интегрированной системы сложнее, чем создание множества локальных систем. Как следствие, предъявляются высокие требования к квалификации разработчиков БД. • В результате интеграции возможна некоторая потеря эффективности отдельных приложений (но общая эффективность всей системы будет выше). • Для управления данными требуются специализированное программное обеспечение, которое, в зависимости от класса системы, может быть сравнительно дорогим, предъявляющим повышенные требования к техническим средствам. • Эксплуатация распределенных корпоративных БД — процесс сложный и дорогостоящий. 22
Требования к Бн. Д • адекватность отображения предметной области (полнота, целостность и непротиворечивость данных, актуальность информации, т. е. ее соответствие состоянию отображаемой реальной системы на данный момент времени); • возможность взаимодействия пользователей разных категорий и в разных режимах; обеспечение высокой эффективности доступа для разных приложений; • дружелюбность интерфейсов и малое время на освоение системы, особенно для конечных пользователей; • обеспечение секретности и конфиденциальности для некоторой части данных; определение групп пользователей и их полномочий; 23
Требования к Бн. Д • обеспечение взаимной независимости программ и данных; • обеспечение надежности функционирования БД; защита данных от случайного и преднамеренного разрушения; • возможность быстрого и полного восстановления данных в случае их разрушения; технологичность обработки данных; • приемлемые характеристики функционирования БД (стоимость обработки, время реакции системы на запросы, требуемые машинные ресурсы и др. ). 05: 38 24
Базы данных Тема. Классификация моделей данных 05: 38 25
Предметная область часть реального мира, представляющая интерес для данного исследования Модель данных — некоторая абстракция, которая позволяет пользователям и разработчикам трактовать данные как информацию, то есть сведения, содержащие не только данные, но и взаимосвязь между ними Три уровня моделей: • логический • физический • внешний 05: 38 26
Физическая модель определяет используемые запоминающие устройства, способы физической организации данных в среде хранения, строится с учетом возможностей, предоставляемых СУБД Схема хранения - описание физической структуры базы данных (физическое проектирование). 05: 38 27
Работы на этапе физического проектирования: • выбор типа носителя способа организации данных методов доступа • определение размера физического блока • управление размещением данных на внешнем носителе • управление свободной памятью • определение целесообразности сжатия данных и используемых методов сжатия • оценка физической модели данных 05: 38 28
Даталогическая модель отображает логические связи между элементами данных безотносительно к среде хранения üстроится в терминах информационных единиц, допустимых в СУБД, в среде которой проектируется БД. Даталогическое проектирование- создание даталогической модели. Схема- описание логической структуры базы данных на языке СУБД ü. 05: 38 29
Внешняя модель описание логической структуры БД с точки зрения конкретного пользователя Подсхема - описание внешней модели. В подсхемах задается üлогическая структура части базы данных с точки зрения конкретного пользователя (приложения), üдопустимые режимы обработки в рамках этой подсхемы, + подсхем облегчает работу пользователя, (пользователь знает структуру той части базы данных с которой он работает, а не всю базу) 05: 38 30
Если СУБД «поддерживает» • схему хранения • подсхему 05: 38 ЭТО СУБД с трехуровневой архитектурой 31
Даталогическое проектирование 05: 38 32
Даталогическое проектированиесоздание даталогической модели. Даталогическая модель- отображает логические связи между элементами данных безотносительно к среде хранения üстроится в терминах информационных единиц, допустимых в СУБД, в среде которой проектируется БД. 05: 38 33
Реляционная модель данных Теоретической основой модели - теория отношений, предложенная логиками — американцем Чарльзом Содерсом Пирсом (1839 -1914) и немцем Эрнстом Шредером (1841 -1902). Американский математик Э. Ф. Кодд в 1970 году впервые сформулировал основные понятия и ограничения реляционной модели, предложил семь основных операций и одну дополнительную.
• Отношение - основная структура данных в модели (отсюда и название реляционная, на англ. relation — отношение). Отношение – таблица • Схема отношения – список имен атрибутов • Атрибут- свойство, характеризующее сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заголовок некоторого столбца таблицы • Сущность – объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.
• Домен – множество всех возможных значений определенного атрибута отношения • Таблица состоит из строк (записей кортежей) • Строка состоит из множества атрибутов • Атрибут- называют элементом, полем 05: 38 36
4 домена: домен 1 содержит фамилии всех сотрудников, домен 2 - номера всех отделов фирмы, домен 3 – название всех должностей, домен 4 – даты рождения всех сотрудников 3 кортежа, кортеж состоит из 4 элементов Схема отношения Сотрудник (ФИО, Отдел, Должность, Д_рождения)
Базы данных Тема. СУБД Access 05: 38 38
СУБД - комплекс программ и языковых средств (процедур, правил) для создания, ведения и использования БД. Основное отличие между СУБД заключается в реализации модели данных БД. 05: 38 39
СУБД должна: 1. обеспечивать пользователю возможность создавать новые БД с идентичной логической структурой данных ; 2. позволять записывать, хранить, находить, редактировать и считывать данные; 3. поддерживать хранение больших массивов данных в течение долгого времени, защищая их от системных сбоев и случайной порчи (автоматическое восстанавление базы с помощью журналов СУБД); 4. обеспечивать модификацию БД; 5. обеспечить контроль достоверности вводимых данных в каждом поле таблиц БД (обязательное поле, умолчание, шаблон и т. д. ); 40
СУБД должна: 6. предусмотреть возможность объединения или совместного использования нескольких автономно заполненных на других рабочих местах тематических БД при физическом перенесении их на основной компьютер; 7. обеспечивать нахождение слов, выделение, просмотр и редактирование таблиц БД с удобным графическим интерфейсом; 05: 38 41
Microsoft Access - одна из самых популярных среди настольных (персональных) программных систем управления базами данных, реляционная СУБД, является файл-серверной СУБД (применима лишь к маленьким приложениям). Причины популярности: • высокая степень универсальности и продуманности интерфейса, который рассчитан на пользователей разной квалификации. • глубоко развитые возможности интеграции с другими программными продуктами, входящими в состав Microsoft Office, а также с любыми программными продуктами, поддерживающими технологию OLE • богатый набор визуальных средств разработки 42
Версии • • • 1993 Access 2. 0 для Windows (Office 4. 3) 1995 Access 7 для Windows 95 (Office 95) 1997 Access 97 (Office 97) 1999 Access 2000 (Office 2000) 2001 Access 2002 (Office XP) 2003 Access 2003 (из комплекта программ Microsoft Office 2003) • 2007 Microsoft Office Access 2007 (из комплекта программ Microsoft Office 2007) • 2010 Microsoft Office Access 2010 (из комплекта программ Microsoft Office 2010) 05: 38 43
Правила именования полей в access • 1 Имя поля начинается с буквы. • Программа разрешает начать имя с любого символа, допустимого в именах, но начинать имя лучшее с буквы по следующим причинам: - Во-первых, если шрифт мелкий, разглядеть символ тяжелее, чем букву, поэтому другим людям будет тяжелее работать с базой данных. - Во-вторых, имя несет смысловую нагрузку. Назначение поля должно быть ясным с первого взгляда на его имя. • В имени поля можно использовать пробелы, однако рекомендуется вместо них применять символы подчеркивания. Т. к. во многих программах управления базами данных, в отличие от Access, пробелы в именах запрещены. Если когда-либо в будущем нужно будет экспортировать таблицы, пробелы в именах породят серьезные проблемы.
Символы, запрещенные в именах полей Access: / Прямая черта дроби * Звездочка ; Точка с запятой : Двоеточие ! Восклицательный знак # Решетка (шарп, диез) & Амперсанд ? Вопросительный знак - Дефис (минус) “ Двойная кавычка ‘ Одинарная кавычка $ Доллар % Проценты
Правила именования полей 2 Имя поля должно быть коротким и понятным. В Access поддерживаются имена полей длиной до 64 символов, но лучше не пользоваться этой возможностью (имя в 64 символа). С другой стороны, не нужно сокращать имя, делая его не информативным; не используют символы которые ничего не значат 3 Лучше использовать в именах только буквы, цифры и символы подчеркивания. Имя— это рабочий инструмент.
Типы полей в Access 1. Текстовый. В поле этого типа можно хранить до 255 символов — букв, цифр, знаков препинания и т. д. Числа в текстовых полях не являются числами. Это всего лишь последовательность цифр, расположенных рядом. Каждое текстовое поле имеет размер. 2. Поле MEMO. Поле этого типа может содержать до 64 000 символов информации. Это почти 18 страниц книжного текста. Обычно в полях Поле MEMO хранятся примечания, описания и другие длинные текстовые данные. 05: 38 47
Типы полей в Access 3. Числовой. Поле содержит число. От текста числа отличаются тем, что их можно суммировать, вычитать, умножать, делить. Если несколько цифр записаны в текстовом поле, выполнять над ними эти операции нельзя. Кроме того, если число обозначает количество рублей или долларов, то по многим причинам, о которых мы расскажем далее, лучше применить тип Денежный.
Размер поля • Байт — для целых чисел от 0 до 255. Для хранения требуется один байт. • Целое число — для целых чисел от -32 768 до 32 767. Для хранения требуется два байта. • Длинное целое — для целых чисел от -2 147 483 648 до 2 147 483 647. Для хранения требуется четыре байта. • Одинарное с плавающей точкой — для чисел с плавающей точкой от -3, 4 x 1038 до 3, 4 x 1038, которые имеют до семи значимых разрядов. Для хранения требуется четыре байта. 05: 38 49
Размер поля • Двойное с плавающей точкой — для чисел с плавающей точкой от -1, 797 x 10308 до 1, 797 x 10308, которые имеют до пятнадцати значимых разрядов. Для хранения требуется восемь байтов. • Код репликации — для глобальных уникальных идентификаторов, используемых для репликации. Для хранения требуется шестнадцать байтов. Следует помнить, что файлы ACCDB не поддерживают репликацию. • Вещественное число — для числовых значений от -9, 999. . . x 1027 до 9, 999. . . x 1027. Для хранения требуется 12 байтов. 05: 38 50
Типы полей в Access 4. Дата/Время. В зависимости от заданного формата в поле хранится или дата, или время, или оба этих значения. Используется для хранения даты заказа, дней рождения и т. д. 5. Денежный. Количество рублей и копеек, долларов и центов, фунтов и шиллингов и т. д. 6. Счетчик. Искусственный идентификатор, обеспечивает уникальность каждой записи путем присвоения порядкового номера. 05: 38 51
Типы полей в Access 7. Логический. Поле этого типа может содержать одно из двух значений: да или нет, истина или ложь, включено или выключено, 0 или 1 — все это разные названия одних и тех же двух значений. 8. Гиперссылка. Используется для обращения к другим источникам информации. 9. Объект OLE. Технология OLE (Object Linking and Embedding — связывание и внедрение объектов) получила в последнее время широкое распространение. Объектом OLE может быть что угодно: документ Word, файл изображения, видеофайл, песня, Web-страница. Если объект OLE внедрен в поле таблицы,
Построение базы данных 1. запустите Access. В рабочей области пиктограмма Новая база данных. 2. Щелкните на пиктограмме Новая база данных. 3. Введите имя базы данных, заменив предлагаемое по умолчанию. Расширение. accdb вводить не нужно. Если его нет, Access добавит его автоматически. Под текстовым полем с именем базы данных приведен маршрут текущего каталога, в котором она будет сохранена при щелчке на кнопке Создать (Create). 4. Если нужно сохранить новую базу данных в другом каталоге, щелкните на пиктограмме, расположенной справа от имени файла, и выберите нужный каталог. 5. Щелкните на кнопке Создать. Будет создана новая база данных и открыта пустая таблица с незамысловатым именем Таблица. На левой панели приведен список существующих таблиц, состоящий пока что из единственного пункта.
Построение базы данных 6 перейдите в режим конструктора, введите имя таблицы, в режиме конструктора внесите имя поля, тип поля… 7 сохраните таблицу Ctrl+S Добавление таблиц: Вкладка Создание кнопка Таблица будет создана новая таблица
Базы данных Запросы к базе данных 05: 38 55
Средствами запроса можно: • выбрать записи, удовлетворяющие условиям отбора; • включить в результирующую таблицу запроса нужные поля; • произвести вычисления в каждой из полученных записей; • сгруппировать записи с одинаковыми значениями в одном или нескольких полях и выполнить над ними групповые функции; • произвести обновление полей в выбранном подмножестве записей; • создать новую таблицу базы данных, используя данные из существующих таблиц; • удалить выбранное подмножество записей из таблицы базы данных; • добавить выбранное подмножество записей в другую таблицу.
Запрос строится на основе: • одной или нескольких таблиц базы данных • таблиц, полученных в результате выполнения других запросов. • другого запроса с использованием его временной таблицы с результатами Результаты выполнения запроса выводятся в режиме таблицы
QBE (Query By Example) - средство формирования запроса по образцу • Запрос QBE включает подсхему данных с используемыми таблицами и бланк запроса. • При конструировании запроса достаточно, работая мышью, выделить и перетащить необходимые поля из таблиц, представленных в схеме данных запроса, в бланк запроса и ввести условия отбора записей.
видов запросов • Запрос на выборку — выбирает данные из взаимосвязанных таблиц и других запросов. Результатом его является таблица, которая существует до закрытия запроса. Записи формируются на основе условий отбора записей в исходных таблицах и связей между этими таблицами, имеющимися в схеме данных запроса. Поля, включаемые в записи результата, указываются пользователем в бланке запроса. • Запрос на создание таблицы — основан на запросе выборки, но, в отличие от него, результат запроса сохраняется в новой таблице. • Запросы на обновление, добавление, удаление — это запросы-действия, в результате выполнения которых изменяются данные в таблицах.
Условия отбора записей могут задаваться для одного или нескольких полей в соответствующей строке бланка запроса. • Условие отбора - выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. • операнд выражения: некоторые заданные значения и идентификаторы (ссылки). • Идентификатор - ссылка на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей, таблиц, запросов, форм, отчетов и т. д. Они должны заключаться в квадратные скобки. • Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например: [Имя таблицы]![Имя поля].
Вычисляемые поля • В запросе над полями могут производиться вычисления. • Результат вычисления образует вычисляемое поле в таблице, создаваемой по запросу. • При каждом выполнении запроса производится вычисление с использованием текущих значений полей. • При вычислениях могут использоваться арифметические выражения и встроенные функции Access.
Вычисляемые поля • Выражение вводится в бланк запроса в пустую ячейку строки Поле. Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием. • Например, Выражение 1: [Цена]*[Количество], где Цена и Количество — имена полей. • Имя вычисляемого поля «Выражение 1» становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить.
Параметры запроса • Конкретное значение поля в условии отбора может вводиться непосредственно в бланк запроса или задаваться пользователем при выполнении запроса в диалоговом окне. • Чтобы выводилось диалоговое окно для ввода конкретного значения поля в условия отбора, нужно определить параметр запроса. • Имя параметра запроса может вводиться непосредственно в условия отбора в квадратных скобках. • При выполнении запроса это имя появится в диалоговом окне Введите значение параметра. • Если в запрос вводится несколько параметров, то порядок их ввода через диалоговые окна определяется порядком расположения полей с параметрами в бланке запроса
Мастер создания запросов ускоряет процесс создания запроса, автоматически выполняя первоначальные простейшие действия по подготовке запроса. При необходимости можно в режиме Конструктора отредактировать запрос. С помощью Мастера можно создать: • простой запрос на выборку; • запрос для поиска повторяющихся записей; • запрос для поиска записей, не имеющих подчиненных записей; • перекрестный запрос.