Понятие и назначение БАЗ ДАННЫХ
Понятие и назначение БАЗ ДАННЫХ
Банк данных (система баз данных) – это система, в которой реализованы функции централизованного хранения, накопления и обработки информации, организованной в одну или несколько баз данных.
БнД состоит из одной или нескольких БД и СУБД. Для его корректной работы необходим администратор базы данных, вычислительная система, программное обеспечение (интерфейс пользователя), обслуживающий персонал, пользователь.
БД – совокупность данных об объектах реального мира, отображающих состояние этих объектов и их взаимосвязи в рассматриваемой предметной области. Назначение базы данных: хранение информации пользователя в определенной предметной области.
Предметная область - это набор объектов, представляющий интерес для пользователей, когда реальный мир отображается набором абстрактных понятий, между которыми фиксируются определенные связи.
СУБД – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД.
Администратор БД – лицо, или группа лиц, отвечающих за проектирование, создание, эффективное использование и сопровождение БД.
Вычислительная система – совокупность взаимосвязанных и согласованно действующих ЭВМ и других устройств, обеспечивающих автоматизацию процессов приема, обработки и выдачи информации.
Обслуживающий персонал – лицо, или группа лиц, отвечающих за поддержание технических и программных средств в работоспособном состоянии.
Пользователь БД – это программа или человек, обращающий к БД с помощью средств СУБД,
Процесс устранения произвола в представлении длины и значений данных, называется структурированием информации.
Примерами структурированной информации могут служить: таблицы, анкеты, графические данные в виде чертежей, схем.
Примерами неструктурированной информации могут служить: связный текст, графические данные в виде фотографий, картинок и т.д.
Классификация банков и баз данных
1. По форме представления информации:
a) фактографические;
b) документальные;
c) мультимедийные (аудио-, видео-, графическая информация).
В фактографических БД регистрируются факты – конкретные значения данных (атрибутов) об объектах реального мира. Основная идея таких систем заключается в том, что все сведения об объектах (фамилии людей и названия предметов, числа, даты) сообщаются компьютеру в каком-то заранее обусловленном формате (например, дата - в виде комбинации ДД.ММ.ГГГГ). Информация, с которой работает фактографическая БД, имеет четкую структуру, позволяющую машине отличать одно данное от другого, - например, фамилию от должности человека, дату рождения от роста и т. п. Поэтому фактографическая система способна давать однозначные ответы на поставленные вопросы.
Документальные БД не предполагают однозначного ответа на поставленный вопрос. Базу данных таких систем образует совокупность неструктурированных текстовых документов (статьи, книги, рефераты, тексты законов) и графических объектов, снабженная тем или иным формализованным аппаратом поиска. Цель системы, как правило, - выдать в ответ на запрос пользователя список документов или объектов, в какой-то мере удовлетворяющих сформулированным в запросе условиям. Документальная система должна уметь по контексту определять смысл того или иного термина (например, различить «Рак» (животное), «Рак» (созвездие) и «Рак» (болезнь)).
2. По типу используемой модели данных:
a) иерархические;
b) сетевые;
c) реляционные;
d) постреляционные;
e) многомерные;
f) объектно-ориентированные.
1. По топологии хранения данных:
a) локальные;
b) распределенные.
2. По сфере применения:
a) универсальные;
b) специализированные.
6. По степени доступности:
a) общедоступные;
b) с ограниченным доступом.
Этапы жизненного цикла БД
Жизненный цикл БД – это процесс, который начинается с этапа проектирования БД и заканчивается снятием БД с эксплуатации.
2.1.Проектирование БД
Проектирование БД - процесс разработки структуры БД на основании требований пользователя.
Стадия проектирования включает в себя:
1. определение сферы применения БД;
2. сбор информации об использовании данных, то есть, на какие запросы БД должна формировать ответы;
3. построение концептуальной схемы;
4. определение ключевых атрибутов;
5. переход от концептуальной схемы к таблицам с использованием правил перехода;
6. выполнение нормализации таблиц;
7. выбор СУБД.
При возникновении каких-либо проблем (например, противоречивость данных) решение их полностью зависит от разработчика БД.
Наиболее важной стадией в жизненном цикле приложения, работающего с базой данных, является стадия проектирования. От того, насколько тщательно продумана структура базы, насколько четко определены связи между ее элементами, зависит производительность системы и ее информационная насыщенность, а значит - и время ее жизни.
Создание БД
Стадия создания БД включает в себя:
1. подготовка среды хранения (программно – аппаратные платформы);
2. создание таблиц БД;
3. ввод и контроль данных;
4. определение связей между таблицами (схема данных);
5. разработка экранных форм, запросов, отчетов.
6. загрузка и корректировка БД.
Ошибки, возникающие на этапе создания БД, устраняются как автоматически используемой СУБД, так и пользователем.
Эксплуатация БД
Стадия эксплуатации БД включает в себя:
1. поиск, редактирование, обновление, удаление данных;
2. разграничение доступа к данным;
3. контроль целостности БД;
4. копирование и восстановление БД;
5. реорганизация БД.
Эксплуатация БД заключается в поддержании целостности, согласованности, безопасности данных, поиске необходимой информации и обновлении данных. Решение возникших проблем на физическом уровне во многом зависит от используемой СУБД, зачастую автоматизировано и скрыто от пользователя. В ряде случаев пользователю предоставляется возможность настройки отдельных параметров системы, которая не составляет большой проблемы.
КЛАССИЧЕСКИЕ Модели данных
После построение концептуальной схемы необходимо выполнить логическое проектирование БД, то есть выбрать модель данных для дальнейшего построения БД.
Модель данных – это метод структурирования данных, позволяющий описывать объекты и взаимосвязи между ними.
Иерархическая модель данных (ИМД)
ИМД – это метод структурирования информации, в котором все отношения структурированы в виде деревьев.
Корневая вершина - это запись, которая имеет подчиненные записи, и сама не является потомком.
Потомок – подчиненная запись в иерархическом отношении.
Предок – подчиняющая запись.
Иерархическая организация данных представлена на примере БД «Предприятие» на рис.4.2.
Иерархическая организация данных
Рис.4.2
Сетевая модель данных (СМД)
СМД – это метод структурирования информации, который позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа.
Она является расширением иерархической, так как в модели допускается любое количество объектов и любые связи между ними.
В СМД элементарные данные и отношения между ними представляются в виде ориентированной сети (вершины – данные, дуги - отношения).
Пример схемы сетевой организации данных на примере БД «Предприятие» представлен на рис. 4.5.
Рис. 4.5.
В отличие от иерархической, в сетевой модели объект-потомок может иметь не одного, а любое количество объектов предков. Тем самым допускаются любые связи, в том числе и одноуровневые
Реляционная модель данных (РМД)
РМД – это метод структурирования информации, который представляет собой набор двумерных таблиц, в каждой из которых содержатся сведения об одной из сущности и связи между которыми, явно не указаны.
Свойства реляционных таблиц
1. в приделах одной таблицы нет строк и столбцов с одинаковыми данными;
2. все данные в приделах одного столбца имеют одинаковый тип данных;
3. в приделах одной таблицы нет 2-х столбцов с одинаковыми именами;
4. строки и столбцы таблицы могут просматриваться в любом порядке без учета их смысла.
Основные понятия:
Отношение - это таблица, состоящая из строк и столбцов.
Атрибут или поле - столбец таблицы.
Домен – это множество допустимых значений данного атрибута.
Кортеж или запись - строка таблицы.
Пример реляционной организации данных представлен на примере БД «Предприятие» представлен на рис. 4.6.
Реляционная организация данных
Отделы
Код отдела | Наименование | Руководитель |
1 | Бухгалтерия | Манылов А. А. |
Должности
Код должности | Наименование должности |
ГБ | Главный бухгалтер |
Сотрудники
Код сотрудника | ФИО | Код отдела | Код должности | Оклад |
Беркутова Н.И. | ГБ |
Рис. 4.6
Современные Модели данных
Постреляционная модель данных (ПМД)
ПМД –это расширенная реляционная модель, допускающая многозначные поля.
Многозначные поля – поля, значения которых состоят из подзначений. Набор значений многозначных полей считается самостоятельной таблицей, встроенной в основную таблицу.
Пример организации данных с помощью ПМД приведен на рис.5.1.
Постреляционная модель данных
Номер накладной | ФИО Покупателя | Название товара | Количество, кг | Сумма покупки, руб |
Иванов И.П. | сыр | |||
рыба | ||||
Смирнов А.А. | макароны | |||
печенье | ||||
Килина В.Д. | конфеты |
Рис.5.1
Многомерная модель
ММД – это модель данных, которая используется в информационных системах, позволяющих обрабатывать информацию для проведения анализа и принятия решений.
По сравнению с реляционой МД многомерная модель обладает более высокой наглядностью и информативностью.
Информацию модели можно представить в виде многомерных объектов – гиперкубов.
Пример графической организации данных с помощью ММД приведен на рис. 5.3.
Организации данных с помощью многомерной модели данных
Измерения:
Время (год) - 1994
Менеджер - Петров
Модель - «Волга»
Показатель:
Объем продаж
Рис. 5.3
Измерение – множество однотипных данных, образующих одну из граней гиперкуба.
Ячейка (показатель) – поле, значение которого однозначно определяется фиксированным набором измерений. Тип поля чаще всего определен как цифровой.
Объектно-ориентированная модель данных (ОМД)
Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого, являются объекты. Свойства объектов описываются некоторым стандартным типом (например, строковый - String) или типом, конструируемым пользователем (определяется как Class). Значением свойства типа String является строка символов. Значение свойства типа Class есть объект.
Пример организации данных с помощью ОМД приведен на рис. 5.4.
Объектно-ориентированная модель данных
Техникум | ||
Свойство | Тип | Назначение |
Название | String | СПЭТ |
Адрес | String | Гончарова, 53 |
Отделение | Class |
Отделение | ||
Название | String | |
Форма обучения | String | очная |
Группа | Class |
Группа | ||
Шифр | String | АСУ-21 |
Количество человек | String |
Рис. 5.4.
Типы данных
- числовой (0,45, 345, 2Е+5);
- символьный (алфавитно-цифровые) («строка», «пятница»);
- дата, задаваемые с помощью специального типа «Дата» или как символьные данные (01.12.02, 23/ 2/ 2000).
- временный и дата – временный (31.01.85, 9:10:03, 6.03.1960 12:30);
- символьный переменной длины. Предназначен для хранения текстовой информации большой длины;
- денежный;
- логический.Данное этого типа может принимать только одно из двух взаимоисключающих значений – TRUE или FALSE (наличие водительских прав (да - нет);
- двоичный. Предназначен ля хранения графических объектов, аудио- и видеоинформации, хронологической и другой специальной информации (Access - OLE);
- гиперссылка. Предназначен для хранения ссылок на различные ресурсы (файлы, узлы, документы), находящиеся все базы данных;
- пользовательский тип - подтип системного типа данных, приспособленный к конкретным требованиям схемы базы данных (дни недели).
В современных СУБД с различными моделями данных могут использоваться все перечисленные типы данных.
ПервичныЙ и внешниЙ ключи
Понятие ключа
В каждой таблице должна быть только одна функциональная зависимость вида:
K→F, где К – первичный ключ,
F – все остальные атрибуты таблицы.
Код книги | Название | Автор | Год издания | Издательство |
БД | Хомоненко | ФОЛИО | ||
БД | Мельников | ФОЛИО |
7.2. Основные определения
Первичный ключ – минимальный набор атрибутов, однозначно определяющий каждую строку таблицы.
Составной ключ – ключ, который содержит два или более атрибута.
Внешний ключ – набор атрибутов одной таблицы, являющейся ключом другой таблицы, который используется для установления логических связей между таблицами.
Пример: первичный ключ.
Рабочие
Таб. номер | ФИО | Тарифная ставка | Профессия |
Егоров К. Г. | 12,50 | Электрик | |
Бочкин М.О. | 13,75 | Штукатур | |
Смирнов Р.П. | 17,40 | Плотник | |
Бочкин М.О. | 15,50 | Электрик |
Пример: составной ключ.
Код студента | Дата защиты отчета | Группа |
12.05.01 | АСУ-21 | |
24.09.01 | АСУ-31 |
Пример: внешний ключ.
ФИО | Группа | Специальность | Название предмета | Часы | |
ФИО | Название предмета | Оценка |
|
|
Функции ключа
1. исключение дублирования значений в ключевых атрибутах;
2. упорядочивание строк таблицы (возрастание, убывание значений ключевых атрибутов, смешанное упорядочивание: по одним – возрастание, по другим - убывание);
3. ускорение работы со сроками таблицы;
4. организация связывания таблиц.
Первая нормальная форма
При проектировании БД, может возникнуть несколько проблем, которые могут существенно осложнить обработку данных на физическом уровне. Для решения таких проблем необходимо пересмотреть созданные таблицы, то есть провести нормализацию.
Нормализация - это процесс изменения структуры таблицы путем ликвидации противоречий в хранении данных с целью приведения таблиц к виду, позволяющему осуществлять корректное редактирование данных
Процесс проектирования БД с использованием метода нормальных форм заключается в последовательном переводе отношений из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ накладывает определенные ограничения на данные таблиц и сохраняет свойства предшествующих НФ.
Нормальная форма – это таблица, с дополнительными ограничениями на хранящиеся в ней значения.
Выделяют следующую последовательность НФ:
1. первая нормальная форма (1НФ);
2. вторая нормальная форма (2НФ);
3. третья нормальная форма (3НФ).
ВТОРАЯ НОРМАЛЬНАЯ ФОРМА
Отношение находится в 2НФ, если оно находится в 1 НФ и каждый неключевой атрибут функционально полно зависит от первичного составного ключа).
Для приведения отношения в 2НФ необходимо удалить все неключевые атрибуты, которые зависят только от части первичного ключа. Такие атрибуты называются частично зависимыми.
Например, предположим, что необходимо распределить работников по проектам, ведущимся на предприятии. Для этого создадим таблицу«Проект» с составным первичным ключом, включающим табельный номер работника и код проекта (см. таблицу 9.1.).
Таблица 9.1.
Проекты предприятия
Таб.номер | Код проекта | ФИО работника | Название проекта | Продукт |
БРЖ | Иванов И.И. | Биржа | программа | |
ДОК | Петров П.П. | Документы | программа | |
УПР | Сидоров С.С. | Управление | адм.меры |
В этой таблице возникает следующая проблема:
1) атрибуты «Название проекта» и «Продукт» зависят от атрибута «Код проекта» (являющегося частью первичного ключа), но не зависят от атрибута «Таб.номер»;
2) атрибут «ФИО работника» зависит от атрибута «Таб.номер», но не зависит от атрибута «Код проекта».
Следовательно, они являются частично зависимыми от составного первичного ключа.
Для нормализации таблицы «Проекты предприятия» удалим из нее атрибуты «Таб. номер» и «ФИО работника» и объединим их в таблицу «Работники предприятия».
Для связи двух таблиц «Работники предприятия» и «Проекты предприятия» создадим другую таблицу (назовем ее «Работник в проекте»), которая будет содержать два атрибута «Таб. номер и Код проекта», и они же будут составлять ее первичный ключ.
Работники предприятия Проекты предприятия Работник в проекте
Таб. номер | ФИО работника | Код проекта | Название проекта | Продукт | Таб. номер | Код проекта | ||
Иванов И.И. | БРЖ | Биржа | программа | БРЖ | ||||
Петров П.П. | ДОК | Документы | программа | ДОК | ||||
Сидоров С.С. | УПР | Управление | адм.меры | УПР |
ТРЕТЬЯ НОРМАЛЬНАЯ ФОРМА
Отношение находится в 3НФ, если оно находится во 2НФ, и все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Другими словами, каждый неключевой атрибут должен быть логически связан с атрибутом или атрибутами, являющимся первичным ключом.
Добавим поля «№ руководителя» и «Телефон» в таблицу «Проекты предприятия», находящуюся в 2НФ (первичным ключом является поле «Код проекта»).
Атрибут «Телефон» логически связан с атрибутом «№ руководителя», неключевым полем, но не с атрибутом «Код проекта», являющимся первичным ключом (см. таблицу 10.1).
Таблица 10.1.
Проекты предприятия
Код проекта | № руководителя | Телефон | Название проекта | Продукт |
БРЖ | 2-21 | Биржа | программа | |
ДОК | 2-43 | Документы | программа | |
УПР | 2-56 | Управление | адм.меры |
Для нормализации этой таблицы удалим атрибут «Телефон». Сделаем атрибут «№ руководителя» внешним ключом, ссылающимся на атрибут «№ работника» (первичный ключ) в таблице «Работники» (см.таблицы 10.2 и 10.3).
Таблица 10.2.
Проекты предприятия
Код проекта | руководитель | Название проекта | Продукт |
БРЖ | Биржа | программа | |
ДОК | Документы | программа | |
УПР | Управление | адм.меры |
Таблица 10.3.
Работники предприятия
№ работника | Телефон |
2-21 | |
2-56 | |
2-43 |
Функции СУБД
1. Поддержка моделей данных и операции над данными.
2. Обеспечение целостности данных (в БД хранится непротиворечивая и полная информация).
3. Обеспечение средствами создания и управления интерфейсом пользователя.
4. Организация связи с языками программирования.
5. Обеспечение средствами обучения пользователя (подсказками, меню).
6. Обеспечение связей с др. пакетами программ (др. СУБД, электронные таблицы, графической поддержкой).
7. Обеспечение работы в сетях.
8. Обеспечение безопасности хранимой информации (защита паролем, поддержка уровней доступа к БД, шифрование данных и программ).
Способ доступа к БД
· Файл-серверные СУБД - файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере. Обработка данных осуществляется на ПК клиента. Пользователь получает файлы базы данных. ( Access, Paradox, dBase, FoxPro).
· Клиент-серверные СУБД - СУБД располагается на сервере вместе с БД. Пользователи через клиентское приложение обращаются с запросами к СУБД и получают записи таблиц (Oracle, Interbase, Informix, MySQL).
· Встраиваемые СУБД — СУБД, которая поставляется как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Физически реализована в виде подключаемой библиотеки. Предназначена только для локального хранения данных и не рассчитана на коллективное использование в сети. (SQLite, BerkeleyDB)
2. Поддерживаемая модель данных:
· Иерархические СУБД;
· Сетевые СУБД;
· Реляционные СУБД;
· Постреляционные СУБД и т.д.;
Степень распределённости
· Локальные СУБД (все части СУБД размещаются на одном ПК)
· Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).
Сфера применения
· Универсальные СУБД
· Специализированные СУБД (проблемно ориентированные СУБД).
Мощность
Настольные СУБД (FoxPro, Clipper, Paradox, Access) - невысокие требования к техническим средствам, ориентация на конечного пользователя и низкая стоимость.
Корпоративные СУБД (Oracle, Sybase, Informix) - работа в распределенной среде, высокая производительность, развитые средства администрирования. Сложные, дорогие, ресурсоемкие.
Процедура выбора СУБД
Процедура выбора СУБД
Процедуру выбора СУБД необходимо проводить в 3 этапа:
1. оценка на качественном уровне программного продукта;
2. оценка технических характеристик;
3. оценка производительности программы.
Оценка на качественном уровне. К числу основных показателей программных продуктов можно отнести следующие:
· вид программного продукта (рассмотрены ранее);
· категории пользователей:
1. профессиональные программисты – разработчики СУБД, серверов БД и др;
2. администраторы БД;
3. квалифицированные пользователи, разрабатывающие приложения;
4. неквалифицированные пользователи;
5. различные комбинации перечисленных категорий.
При выборе программных продуктов следует отдавать предпочтение программам более широкого назначения. Многие популярные многофункциональные СУБД содержат средства как для пользователей и администраторов, так и разработчиков (Microsoft Access содержит Visual basic для создания приложений);
· удобство и простота использования:
1. понятные процедуры установки программных продуктов (особенно сетевые установки с множеством рабочих мест);
2. удобный и унифицированный интерфейс конечного пользователя;
3. простота выполнения обычных операций: создания БД, навигации, модификации данных, подготовки запросов и оформления отчетов;
4. наличие интеллектуальных подсистем подсказок, помощи в процессе работы и обучения, включая примеры;
· модель представления данных.
Наиболее распространенной и отработанной теоретически и практически является РМД.
· качество средств разработки.
Учитывается: возможности создания пользовательских интерфейсов; мощность языка создания программ; автоматизация разработки различных объектов, экранных форм, отчетов, запросов.
Предпочтение отдается системам, имеющим полнофункциональные генераторы (мастера, конструкторы) и обеспечивающим удобство работы пользователя;
· качество средств защиты БД (контроль типа данных, определение диапазона допустимых значений)
· фирма – разработчик.
При отборе программных продуктов немаловажное значение имеет авторство продукта. Солидность фирмы – разработчика пакета дает следующие преимущества:
1. высокое качество продукта;
2. наличие документации и методических материалов;
3. наличие «горячей линии» для консультаций по возникающим проблемам;
4. высокую уверенность в появлении более совершенной версии.
Следует отдавать предпочтение фирмам с твердым финансовым положением и перспективной динамикой роста программно – аппаратных средств. В качестве показателей «благополучия» можно использовать годовой оборот, численность состава, объемы продаж вообще и интересующего продукта, в частности…
· стоимость.
На стоимость программных продуктов в основном влияют вид программного продукта и фирма – разработчик. Стоимость полнофункциональных СУБД обычно колеблется в приделах - $500 - $1000. Общая стоимость включается в себя стоимость прикладного инструментария, средств настройки конфигурации системы, администрирования БД и сопровождения. Иногда общая стоимость крупных систем, построенных на базе РБД, достигает миллиона долларов. Основным фактором, определяющим общую стоимость системы, чаще всего является число поддерживаемых пользователей.
Технические характеристики.
1. Общие параметры:
· операционная среда (типы поддерживаемых ОС);
· потребность в оперативной памяти;
· ограничение на max объем БД;
· ограничение на количество одновременных подключений пользователей.
2. Ограничения на операции над данными:
· max размер поля;
· max размер строки;
· max число полей в таблице;
· max число индексных полей;
· max число строк в таблице;
· max число одновременно открытых таблиц.
3. Типы данных.
4. Возможности средств формулировки и выполнения запросов:
· вид языка запросов: SQL, QBE, свой собственный;
· максимальное число полей для поиска;
· сохранение запросов;
· сортировка: по одному любому полю, по нескольким полям;
· наличие вычислений в запросах.
5. Работа в многопользовательских средах:
· типы блокировок: исключительные, общие;
· уровни защиты: защита БД, защита объектов разработки (текстов программ, отчетов, экранных форм), защита таблицы (файла), защита записи, защита поля;
6. Инструментальные средства разработки приложений:
· генератор интерфейсов пользователя (экранных форм, меню, кнопок, окон, отчетов);
· генерация независимых exe - модулей.
7. Импорт и экспорт: ASCII – файлы, DBF – формат, XLS – формат и другие.
Оценка производительности.Тестирование СУБД проводится с помощью эталонных тестов. Испытываемая БД состоит из 4 таблиц по 100 тысяч записей.
Основные виды применяемых тестов:
1. «Выборка». Измеряется на сколько быстро СУБД может выполнять однотабличный запрос. Запросы включают текстовые и числовые данных, значения должны попадать в заданный диапазон.
2. «Полное сканирование». Измеряет время, необходимое для поиска значения в неиндексируемом поле, которое отсутствует в таблице.
3. «Загрузка и индексация». Проводится оценивание того, как быстро программы могут импортировать исходную БД и создать определенное число индексов.
4. «Обновление». Предназначен для измерения времени обновления индексов при выполнении операций модификации, вставки и удаления 1000 записей.
5. «Чтение с произвольной выборкой». Позволяет определить max число параллельных обращений к данным, которые способен обработать испытываемый пакет. Для получения этой характеристики, на рабочих станциях генерировались запросы со случайными номерами записей одной таблицы, которые должен быть выполнить пакет, находящийся на отдельном ПК.
6. «Запись с произвольным доступом». Каждая из рабочих станций случайно выбирает обновляемую запись, в которой изменяется целочисленное поле.
7. «Генерация отчета». Предполагает задействование одной рабочей станции для подготовки и печати собственного отчета, а других машин – для имитации потока требований к основной станции при групповой работе. Имитация происходит при помощи теста «чтение с произвольной выборкой».
По параметрам производительности оценивались 10 наиболее высококачественных СУБД. Лидирующее положение заняли PARADOX и ACCESS.
ЯЗЫК ЗАПРОСОВ SQL
Основные понятия
SQL (Structured Query Language) представляет собой непроцедурный язык, используемый для управления данными в реляционных СУБД. Термин непроцедурный означает, что на этом языке можно сформулировать, что нужно сделать с данными, но нельзя проинструктировать, как это сделать.
Язык SQL был создан в начале 70 – х годов фирмой IBM. За это время он был расширен, то есть дополнен новыми операторами.
Функции SQL
· Организация данных (дает пользователю возможность устанавливать отношения между элементами базы данных).
· Чтение данных (дает пользователю возможность читать из базы данных содержащиеся в ней данные и пользоваться ими).
· Обработка данных (дает пользователю возможность изменять базу данных, т.е. добавлять в нее новые данные, а также удалять или обновлять уже имеющиеся в ней данные).
· Управление доступом (можно ограничить возможности пользователя по чтению и изменению данных и защитить их от несанкционированного доступа).
· Совместное использование данных (координирует совместное использование данных пользователями, работающими параллельно, чтобы они не мешали друг другу).
· Целостность данных (позволяет обеспечить целостность базы данных, защищая ее от разрушения из-за несогласованных изменений или отказа системы).
Основные операторы языка
Операторы языка SQL можно разделить на два подъязыка: язык определения данных (ddl) и язык манипулирования данными (DML). Представлены в таблице 18.1
Таблица 18.1.
Основные операторы языка SQL
Вид | Название | Назначение |
DDL | CREATE TABLE DROP TABLE Alter TABLE CREATE VieW DROP VieW | Создание таблицы Удаление таблицы Изменение структуры таблицы Создание представления Удаление представления |
DML | SELECT UPDATE INSERT DELETE | Выборка записей Изменение записей Вставка новых записей Удаление записей |
Выборка строк с условием
Пример: определить товар, код которого 1245.
SELECT *
FROM ТОВАРЫ
WHERE Номер товара = 1245;
Условие выборки – является логическим выражением. Его элементами могут быть операции сравнения (=, <>, <, >, <=, >=), арифметические операции, логические операторы (and, or, not).
Операции сравнения имеют стандартные значения для числовых данных, а для символьных их определение зависит от кодов ASCII символов – они следуют в алфавитном порядке, причем заглавные буквы имеют меньший код, чем строчные ‘Z’ < ‘a’.
Пример: вывести список товаров, цена которых >250,45
SELECT *
FROM ТОВАРЫ
WHERE цена > 250,45;
Пример: вывести информацию о товарах, код которых >123 и цена < 250.
SELECT *
FROM ТОВАРЫ
WHERE Номер товара > 123 and цена < 250,45;
Пример: вывести информацию о фирмах – поставщиках, наименование которых «Феникс» или местоположение г. Москва.
SELECT *
FROM Компании
WHERE Название товара = ‘Феникс’ or адрес = ‘Москва’;
Пример: вывести информацию о компании, офис которой не находится в Москве.
SELECT *
FROM Компании
WHERE Not (адрес = ‘Москва’);
При построении запросов могут быть использованы специальные операторы:
IN –определяет набор значений, в который данное значение должно быть включено;
BETWEEN – определяет диапазон значений, в которых должно умещаться искомое значение;
LIKE – определяет значение, точное написание которого неизвестно. Применим только к полям символьного типа.
Пример: вывести информацию о товарах, тип которых «Посуда» или «Игрушка». (Более простая замена оператора OR).
SELECT *
FROM ТОВАРЫ
WHERE Тип товара in (‘Посуда’, ‘Игрушка’);
Пример: вывести информацию о компаниях, код которых находится между 1245 и 1256.
SELECT *
FROM Компании
WHERE Номер компании BETWEEN 1245 and 1256;
Значения равные 1245 и 1256 включаются в ответную таблицу.
Пример: выбрать все компании, наименование которых находятся между «К» и «С».
SELECT *
FROM Компании
WHERE номер компании BETWEEN ‘K’ and ‘C’;
Существует два типа групповых символов, использ