Лекция Обзор.ppt
- Количество слайдов: 23
Управление данными (ГЭК) 1 1. Понятия предметной области, информации, данных, базы данных (БД) и базы знаний. Под предметной областью принято понимать некоторую область человеческой деятельности или область реального мира, подлежащих изучению для организации управления и автоматизации, например, информационная среда предприятия, организации, область знаний, информация об объекте или процессе и. т. д. Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, то есть осознает их смысловое содержание. Система баз данных – это компьютеризированная система хранения структурированных данных, основная цель которой – хранить информацию и предоставлять ее по требованию пользователей. Системы баз знаний (БЗ) ориентированы на работу с индивидуальными свойствами объектов на основе знаний об отношениях. Содержат интеллектуальные методы представления данных и знаний. Курс «Управление данными»
2 2. Основные модели данных: иерархическая, сетевая, реляционная и объектно-ориентированная модель. Теоретико-графовые модели основаны на математическом понятии графа. Вершины – объекты, дуги – связи. В иерархической БД данные представляются в виде древовидной структуры, удобна для работы с данными, упорядоченными иерархически. В сетевой БД данные организуются в виде произвольного графа. Недостатком сетевой структуры является жесткость структуры и сложность ее организации. Теоретико-множественные модели основаны на математическом понятии множества. Объекты являются элементами некоторых множеств. Наиболее широкое распространение получила Реляционная модель от английского термина relation (отношение) представляет собой совокупность 2 мерных таблиц, связанных отношениями. Объектно-ориентированная модель использует принципы объектноориентированного программирования, объединяют сетевую и реляционную модели и используются для создания крупных БД сложной структуры. Курс «Управление данными»
3 3. Метод концептуального проектирования «сущность-связь» . ERдиаграммы. 1. Концептуальное проектирование (анализ предметной области) Состоит из 3 -х фаз: 1) Анализ общих информационных требований: анализ решаемых задач, информационных потоков, отображающих процессы производства, обработки и взаимодействия данных, определение цели создания БД. 2) Выявление информационных объектов и связей между ними. Для этого составляется список всех используемых данных с их разделением по типам и задачам (составляется словарь данных). Также составляется список всех правил и линий поведения в управлении деятельностью организации. 3) Построение концептуальной модели ПО. Для построения концептуальной модели используется метод концептуального проектирования “Сущность-связь” или ER-диаграммы (Entity-Relation), где вершины - сущности, а дуги - связи. Курс «Управление данными»
4 4. Основные понятия реляционной модели данных: отношения, атрибуты, кортежи отношений. Отношение – это связанная представленная таблицей БД. совокупность атрибутов объекта, Атрибут отношения – представляет свойство объекта, как значение из определенного домена данных, столбец таблицы БД. Кортеж соответствует заполненной строке таблицы. В СУБД кортежи называют записями. Математические термины: отношение, кортеж, атрибут. Термины СУБД: таблица, строка, столбец. Физические термины: файл, запись, поле. Курс «Управление данными»
5 5. Свойства реляционных отношений: степень, мощность, кардинальное число. Число атрибутов в отношении называют степенью (или -арностью) отношения. Мощность множества кортежей отношения называют мощностью отношения. Кардинальное число – количество кортежей в отношении в текущий момент времени. Курс «Управление данными»
6 6. Целостность реляционных данных. Понятия первичного и внешнего ключей. Каскадные воздействия. Целостность данных в реляционной модели обеспечивается двумя правилами: - целостность сущности представляется первичным ключом; - целостность связей ( представляется внешним ключом ). Под первичным ключом понимают поле или набор полей, однозначно идентифицирующий запись. Свойства первичного ключа: - уникальность; - минимально достаточность (не избыточность). Для обеспечения ссылочной целостности в дочерней таблице создается внешний ключ. Во внешний ключ входят поля связи дочерней таблицы. Для связей типа “один-ко-многим” внешний ключ по составу полей должен совпадать с первичным ключом родительской таблицы. Механизм обеспечения ссылочной целостности – каскадные воздействия (каскадные изменения, удаление связанных данных). Курс «Управление данными»
7 7. Цель нормализации отношений в БД. Понятие нормальных форм. Первая нормальная форма. Нормализация отношений имеет своей целью устранение избыточности данных, обеспечение согласованности и целостности данных. Теория нормализации отношений построена на концепции нормальных форм (НФ). Отношение находится в некоторой нормальной форме, если оно удовлетворяет некоторым ограничениям, выраженным через функциональные зависимости. Существуют множество нормальных форм: 1 НФ, 2 НФ, 3 НФ, НФ Бойса-Кодда, 4 НФ, 5 НФ и т. д. 1 НФ (Первая Нормальная Форма) Определение 1. Говорят, что отношение находится в 1 НФ, если его атрибуты содержат только скалярные (атомарные) значения. Определение 2. Отношение находится в 1 НФ, если оно является плоской таблицей. Первая нормальная форма - это обычное отношение. Согласно определению отношений, любое отношение автоматически находится в 1 НФ. Курс «Управление данными»
8 8. Вторая и третья нормальные формы. Метод нормализации отношений. 2 НФ (Вторая Нормальная Форма) Определение 3. Отношение находится во второй нормальной форме (2 НФ) тогда и только тогда, когда отношение находится в 1 НФ и нет неключевых атрибутов, зависящих от части сложного ключа. (Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа). Замечание. Если потенциальный ключ отношения является простым, то отношение автоматически находится в 2 НФ. 3 НФ (Третья Нормальная Форма) Определение 4. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого. Определение 5. Отношение находится в третьей нормальной форме (3 НФ) тогда и только тогда, когда отношение находится в 2 НФ и все неключевые атрибуты взаимно независимы. Для того, чтобы устранить зависимость атрибутов от части сложного ключа, нужно произвести декомпозицию отношения на несколько отношений. При этом те атрибуты, которые зависят от части сложного ключа, выносятся в отдельное отношение. Курс «Управление данными»
9 9. Система управления базой данных (СУБД). Основные функции СУБД. Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания БД, поддержания их в актуальном состоянии и организации поиска в них необходимой информации. Основные функции СУБД: • управление данными во внешней памяти (на дисках); • управление данными в оперативной памяти (с использованием дискового кэша); • журнализация изменений, резервное копирование и восстановление базы данных после сбоев; • поддержка языков БД (язык определения данных, язык манипулирования данными). Курс «Управление данными»
10 10. Понятие транзакции, журнализация изменений и восстановление БД после сбоев. Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Только при успешном выполнении всей последовательности операций транзакции изменения фиксируются в БД. Понятие транзакции используется для поддержания целостности БД. Журнализация изменений - функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее актуальное (целостное) состояние в случае логических или физических сбоев. Восстановление базы данных - это функция СУБД, которая в случае логических и физических сбоев приводит базу данных в актуальное состояние. Курс «Управление данными»
11 11. Основные архитектуры СУБД. Преимущества и недостатки различных архитектур БД. По способу доступа к БД (архитектуре СУБД) В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера. Недостатки: • потенциально высокая загрузка локальной сети; • затруднённость централизованного управления; • затруднённость обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Клиент-серверная СУБД располагается на сервере вместе с БД. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток состоит в повышенных требованиях к серверу. Достоинства: • потенциально более низкая загрузка локальной сети; • удобство централизованного управления; • удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Курс «Управление данными»
12 12. Язык SQL. Назначение, система операторов. Язык SQL (Structured Query Language) – язык структурированных запросов к БД, стал фактически стандартным языком доступа к базам данных, международный стандарт принят в 1992 году (International Standart Database Language SQL). Основу языка SQL составляют операторы, которые можно разбить на следующие группы: • язык определения данных (Data Definition Language, DDL); • язык манипулирования данными (Data Manipulation Language, DML); • язык управления данными (Data Control Language, DCL). Язык манипулирования данными, используется для выборки и изменения данных в таблицах баз данных. Он состоит из 4 основных команд: SELECT – оператор выборки данных; INSERT – оператор вставки новых данных; UPDATE – оператор обновления (изменения) данных; DELETE – оператор удаления данных. Курс «Управление данными»
13 13. Состав и назначение основных объектов БД. Операторы определения данных языка SQL. БД включает следующие основные объекты: • Таблицы (TABLE) – предназначены для хранения данных. • Представления (VIEW) – виртуальные таблицы, создаваемые на основе запросов, предназначены для удобного представления данных. • Хранимые процедуры (STORED PROCEDURE) – набор команд, состоящий из одного или нескольких операторов SQL или функций и сохраняемый в базе данных в откомпилированном виде. • Пользовательские функции (FUNCTION) – предназначены для реализации сложных вычислений, содержат набор команд и SQL-операторов, в отличие от хранимых процедур могут использоваться для построения выражений. • Триггеры (TRIGGER) – специальный тип хранимых процедур, запускаемых сервером автоматически при попытке изменения данных в таблицах, с которыми триггеры связаны. Операторы создания / изменения / удаления объекта БД CREATE / ALTER / DROP (DATABASE, TABLE, VIEW, PROCEDURE, FUNCTION, TRIGGER) Курс «Управление данными»
14 14. Структура и назначение основных предложений оператора SELECT. Оператор SELECT позволяет делать выборку данных из одной или нескольких таблиц БД. 1. SELECT [ ALL | DISTINCT ] < select_list > 2. [ INTO new_table ] 3. [ FROM { <table_source> } [ , . . . n ] ] 4. [ WHERE <search_condition> ] 5. [ GROUP BY [ ALL ] group_by_expression [ , . . . n ] ] 6. [ HAVING < search_condition > ] 7. [ ORDER BY < order_expression > ] 1 - задает состав столбцов результ. набора данных 2 - сохраняет выборку в ТБД 3 - задает список таблиц источников данных 4 - условия выборки данных 5 - условия группировки 6 - условия включения групп (+ GROUP BY) 7 - условия сортировки данных Курс «Управление данными»
15 15. Понятие и типы соединения таблиц БД. Операторы соединения таблиц языка SQL. Соединением называется набор данных, который включает столбцы и строки из разных таблиц БД. Типы соединений: Вертикальное (UNION) – соединение строк однотипных наборов данных. Горизонтальное (JOIN) – соединение столбцов из разных таблиц. Горизонтальное соединение: внутреннее (INNER) – только по совпадающим строкам таблиц, внешнее (OUTER) – по всем строкам главной таблицы. SELECT <select_list> FROM <left_table> [{INNER | {{LEFT|RIGHT|FULL}[OUTER]}} | CROSS] JOIN <right_table> ON <search_condition> { SELECT } UNION [ ALL ] { SELECT } [ UNION [ ALL ] { SELECT } [. . . n ] ] Курс «Управление данными»
16 16. Мультивложенность оператора SELECT. Использование подзапросов. Часто невозможно решить поставленную задачу путем использования одного запроса. Например в предложении WHERE: • значение для сравнения заранее не определено; • значений для сравнения несколько. Внутренний подзапрос представляет собой оператор SELECT построенный в соответствии со всеми правилами. SELECT … FROM … WHERE <значение> = (SELECT … FROM … WHERE …) Курс «Управление данными»
17 17. Операторы модификации данных языка SQL. Оператор INSERT добавляет новые строки к таблице или представлению. INSERT [ INTO] { table_or_view_name } [ ( column , . . . ) ] { VALUES ( { expression } , . . . ) | SELECT. . . • • Два способа задания добавляемых данных: непосредственно списком значений VALUES; посредством вложенного запроса SELECT. Оператор UPDATE изменяет существующие данные в таблице или представлении. UPDATE { table_or_view_name } SET { column = { expression } } , . . . [ WHERE <search_condition> ] Оператор DELETE удаляет строки из таблиц и представлений. DELETE [ FROM ] { table_name | view_name } [ WHERE <search_condition> ] Курс «Управление данными»
18 18. Назначение и преимущества использования хранимых процедур. Типы параметров и результат выполнения хранимой процедуры. Хранимые процедуры представляют собой набор команд, состоящий из одного или нескольких операторов SQL или функций и сохраняемый в базе данных в откомпилированном виде. Выполнение в базе данных хранимых процедур вместо отдельных операторов SQL дает пользователю следующие преимущества: • необходимые операторы уже содержатся в базе данных; • все они прошли этап синтаксического анализа и находятся в исполняемом формате; • хранимые процедуры выполняются быстрее. Для передачи входных и выходных данных в создаваемой хранимой процедуре могут использоваться параметры, имена которых, должны начинаться с символа @. В одной хранимой процедуре можно задать множество параметров, разделенных запятыми. Указывается тип данных и значения по умолчанию. Параметр OUTPUT означает, что соответствующий параметр предназначен для возвращения данных из хранимой процедуры. Курс «Управление данными»
19 19. Назначение и типы функций пользователя БД. Пользовательские функции (FUNCTION) – предназначены для реализации сложных вычислений, содержат набор команд и SQL-операторов, в отличие от хранимых процедур могут использоваться для построения выражений. В SQL Server имеются следующие классы функций пользователя: • Scalar – функции возвращают обычное скалярное значение, каждая может включать множество команд, объединяемых в один блок с помощью конструкции BEGIN. . . END; • Inline – функции содержат всего одну команду SELECT и возвращают пользователю набор данных в виде значения типа данных TABLE; • Multi-statement – функции также возвращают пользователю значение типа данных TABLE, содержащее набор данных, однако в теле функции находится множество команд SQL (INSERT, UPDATE и т. д. ). Именно с их помощью и формируется набор данных, который должен быть возвращен после выполнения функции. Курс «Управление данными»
20 20. Назначение и типы триггеров БД. Триггер представляет собой специальный тип хранимых процедур, запускаемых сервером автоматически при попытке изменения данных в таблицах, с которыми триггеры связаны. Триггеры – особый инструмент SQL-сервера, используемый для поддержания целостности данных в базе данных. Триггеры различают по типу команд, на которые они реагируют: • INSERT TRIGGER – запускаются при попытке вставки данных с помощью команды INSERT. • UPDATE TRIGGER – запускаются при попытке изменения данных с помощью команды UPDATE. • DELETE TRIGGER – запускаются при попытке удаления данных с помощью команды DELETE. В SQL Server существует два параметра, определяющих поведение триггеров: • AFTER. Триггер выполняется после успешного выполнения вызвавших его команд (используется по умолчанию). • INSTEAD OF. Триггер вызывается вместо выполнения команд. Курс «Управление данными»
21 21. Основные технологии доступа к данным, отличительные особенности. Среди универсальных методов доступа к данным наиболее распространены в настоящее время: ODBC (Microsoft) - механизм взаимодействие с реляционными базами данных, использующий ODBC-драйверы для доступа к различным СУБД. OLE DB (Microsoft) - механизм работы с самыми разнообразными источниками данных (в отличии от ODBC - где только работа с реляционными БД) на базе COM-интерфейса (Component Object Model). ADO (Microsoft) - своеобразная надстройка над OLE DB (использует библиотеки OLE DB). Реализует единый механизм для доступа к локальным и удаленными данным. ADO. NET (Microsoft) - технология работы с базами данных в многоярусной архитектуре, когда соединение с базой данных устанавливается лишь на период выполнения операций с БД (как правило кратковременных). BDE (Borland) - универсальный механизм доступа к данным, поддержан на уровне компонент в визуальных средах разработки фирмы Borland. Курс «Управление данными»
22 22. Технология ADO. NET. Организация доступа к данным. Основные классы объектов. В ADO . NET используется доступ к отсоединенным данным, когда соединение устанавливается лишь на время проведения выполнения операций над БД, что позволяет существенно экономить ресурсы сервера БД. Концепция доступа к данным в ADO. NET основана на использовании двух компонентов: • НАБОРА ДАННЫХ (представляется объектом класса Data. Set) со стороны клиента. Это локальное временное хранилище данных; • ПРОВАЙДЕРА ДАННЫХ (представляется объектом класса Data. Provider). Это посредник, обеспечивающий взаимодействие приложения и базы данных со стороны базы данных. Объектная модель ADO . NET предполагает существование двух множеств классов: • Классы подсоединенных объектов обеспечивают установление соединения с базой данных и управление базой со стороны приложения; • Классы отсоединенных объектов обеспечивают сохранение, использование и преобразование полученной от базы данных информации на стороне приложения. Курс «Управление данными»
23 Практические задания Для указанной предметной области разработать информационнологическую модель БД, представить в виде диаграммы «сущность связь» . Определить структуру таблиц, типы данных, первичные и вторичные ключи и типы связей между таблицами. Сформировать SQL-операторы запросов к БД. Прокат автомобилей Компании, занимающейся прокатом автомобилей, нужно сохранять данные о клиентах (ФИО, адрес, паспортные данные, категория и номер водительского удостоверения), автомобилях (марка, модель, категория, госномер, год выпуска, пробег), ценах на услуги (наименование услуги, категория авто, цена, скидки, комиссии) и заказах (номер заказа, дата, время, клиент, вид услуги, автомобиль, оплата). Система должна выдавать: - список автомобилей с указанием цен на услуги, - список доступных автомобилей на указанную дату, - статистику использования конкретного автомобиля за период (количество заказов по видам услуг), - статистику по указанному клиенту за период (количество и общая сумма заказов). Курс «Управление данными»
Лекция Обзор.ppt