Лекция 7. Проектирование баз данных и работа с ними Веб-приложений. Введение в БД, SQL Server, ADO.NET
Понятие «База данных»
База данных – это совокупность связанных данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования, независимая от прикладных программ.
Отличительные признаки БД:
База данных хранится и обрабатывается в вычислительной системе
Данные в базе данных логически структурированы (систематизированы)
База данных включает метаданные, описывающие логическую структуру БД
2
Система управления базами данных
Система управления базами данных (СУБД) – это специализированная программа (чаще комплекс программ), предназначенная для организации и ведения базы данных
Cовременная СУБД содержит следующие компоненты:
ядро
процессор языка базы данных
подсистему поддержки времени исполнения
сервисные программы
3
Классификация БД
По технологии хранения:
БД во вторичной памяти (традиционные)
БД в оперативной памяти (in-memory databases)
БД в третичной памяти (tertiary databases)
По содержимому:
Географические
Исторические
Научные
Мультимедийные
По степени распределенности:
Централизованные (сосредоточенные)
Распределенные
6
Модель данных
Модель данных есть формальная теория представления и обработки данных в системе управления базами данных (СУБД), которая включает, по меньшей мере, три аспекта:
структура данных
набор допустимых операций, выполняемых на структуре данных
ограничения целостности
7
Классификация БД по модели данных
Иерархические
Сетевые
Реляционные
Постреляционные
Объектно-ориентированные
Объектно-реляционные
8
Основные понятия реляционных БД
Реляционная модель данных (РМД) – логическая модель данных, прикладная теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных
Основные понятия реляционных БД:
Таблицы
Индексирование
…
9
Нормальные формы
Первая нормальная форма (1NF)
11
Транзакции
Транзакция – это неделимая, с точки зрения воздействия на СУБД, последовательность операций манипулирования данными
Свойства ACID:
Атомарность (Atomicity)
Согласованность (Consistency)
Изоляция (Isolation)
Долговечность (Durability)
12
Проектирование баз данных
Проектирование баз данных – процесс решения класса задач, связанных с созданием баз данных
Основные задачи:
обеспечение хранения в БД необходимой информации
обеспечение возможности получения данных по всем необходимым запросам
сокращение избыточности и дублирования данных
обеспечение целостности данных
Основные этапы проектирования баз данных:
Концептуальное (инфологическое) проектирование
Логическое (даталогическое) проектирование
Физическое проектирование
13
Веб-доступ к существующим БД
Преобразование содержимого БД в статические документы
Динамическое создание гипертекстовых документов
Создание информационного хранилища на основе СУБД
14
Язык SQL
SQL является инструментом, предназначенным для обработки и чтения данных, содержащихся в компьютерной базе данных
15
SQL
Язык SQL делится на несколько частей:
операторы определения данных
операторы манипуляции данными
операторы определения доступа к данным
операторы управления транзакциями
операторы определения курсора
16
Достоинства SQL
Независимость от конкретных СУБД
Переносимость с одной вычислительной системы на другую
Наличие стандартов
Реляционная основа
Возможность выполнения специальных интерактивных запросов
Обеспечение программного доступа к базам данных
Возможность различного представления данных
Возможность динамического определения данных
Декларативность
17
Недостатки SQL
Несоответствие реляционной модели данных:
повторяющиеся строки и неопределенные значения
явное указание порядка колонок слева направо
колонки без имени и дублирующиеся имена колонок
отсутствие поддержки свойства «=»
использование указателей и высокая избыточность
Сложность
Отступления от стандартов в конкретных реализациях СУБД
Сложность работы с иерархическими структурами
18
Процедурные расширения SQL популярных СУБД
19
СУБД | Расширение |
InterBase/Firebird | PSQL – Procedural SQL |
IBM DB2 | SQL PL – SQL Procedural Language (расширяет SQL/PSM) |
MS SQL Server/Sybase ASE | Transact-SQL |
MySQL | SQL/PSM – SQL/Persistent Stored Module (соответствует стандарту SQL:2003) |
Oracle | PL/SQL – Procedural Language/SQL (основан на языке Ada) |
PostgreSQL | PL/pgSQL – Procedural Language/PostgreSQL Structured Query Language (очень похож на Oracle PL/SQL) |
Доступ к данным в .NET
ADO.NET – основная модель доступа к данным для приложений, основанных на Microsoft .NET
Linq – проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework 3.5
ADO.NET Entity Framework – объектно-ориентированная технология доступа к данным, является ORM-решением для .NET Framework 3.5
20
Microsoft SQL Server
Microsoft SQL Server – система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft
Источник: Microsoft SQL Server 2008, http://www.msdb.ru/Downloads/SQL2008/white_papers/ProductOverview%20RU.docx
21
ADO.NET
ADO.NET представляет собой набор библиотек, входящих в Microsoft .NET Framework предназначенных для взаимодействия с различными хранилищами данных из .NET приложений
Библиотеки ADO.NET включают все необходимые классы для подключения к источникам данных практически произвольного формата, выполнения запросов к этим источникам и получения результата
Возможность работы с отсоединенными источниками данных
22
Организация взаимодействия с БД в ADO.NET
Устанавливается соединение, открывается подключение к базе данных
Выполняется один или несколько запросов
Осуществляется отключение от источника данных
При необходимости переноса изменений, из отсоединенного набора данных в БД, а также при необходимости просмотра изменений, внесенных в БД другими пользователями, осуществляется подключение к источнику данных, выполняются необходимые действия, после чего производится отключение от БД
25
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.