
- •Лекции по курсу «Базы данных» для студентов факультета вычислительной математики и кибернетики кгу
- •Системы управления базами данных, их состав и назначение. Файловые и клиент-серверные субд.
- •2. Типы базы данных. Реляционные, иерархические, сетевые, объектно-ориентированные базы данных.
- •Основные понятия теории баз данных. Поиск данных и пользовательские запросы.
- •4. Проектирование предметной области. Объекты и атрибуты предметной области. Связи между объектами типа 1:1, 1:m, m:n.
- •Первичные ключи и индексы
- •Реляционные отношения между таблицами Отношение один-ко-многим
- •Отношение один-к-одному
- •Отношение многие-ко-многим
- •Оператор переименования атрибутов.
- •Теоретико-множественные операторы:
- •Объединение
- •Пересечение
- •3. Вычитание
- •4. Декартово произведение
- •Специальные реляционные операторы
- •5. Выборка (ограничение, селекция)
- •Проекция
- •6. Соединение
- •7. Деление
- •Примеры использования реляционных операторов
- •Кросс-таблицы.
- •Ключи отношений. Их роль и использование в базах данных.
- •Связи между отношениями. Внешние ключи. Проблема целостности внешних ключей.
- •Функциональные зависимости. Аксиоматическая система функциональных зависимостей. Теорема полноты.
- •1. Аксиоматика функциональных зависимостей Армстронга.
- •Покрытия функциональных зависимостей. Структура неизбыточных покрытий.
- •Нормальные формы баз данных. Первая, вторая и третья нормальные формы. Нормальная форма Бойса- Кодда.
- •Вторая Нормальная Форма.
- •Отношение сотрудники_отделы
- •Отношение проекты
- •Отношение задания
- •3 Нормальная форма.
- •Отношение сотрудники
- •Отношение отделы
- •Нормализация баз данных. Алгоритм приведения к 3-й нормальной форме с помощью кольцевых зависимостей.
- •Метод «Entity-Relationship». Проектирование структуры баз данных с помощью er-диаграмм. Пример.
- •Физическая организация баз данных.
- •2. Блочный поиск.
- •3. Двоичный поиск.
- •4. Поиск в индексно-последовательном файле.
- •6. Поиск в сбалансированном дереве.
- •7. Перемешивание.
- •8. Комбинация вышеперечисленных способов.
- •Организация баз данных с помощью хеширования. Влияние на эффективность хеширования размеров блока, плотности заполнения и выбора алгоритма хеширования.
- •2. Деление.
- •3. Сдвиг разрядов.
- •4. Преобразование системы исчисления.
- •Язык sql. Команды create, select, insert, alter, update, drop.
- •Простая выборка
- •Использование операторов сравнения
- •Использование in
- •Использование like
- •Выборка с упорядочением
- •Применение агрегатных функций sum, max, min, average в предложении select.
- •Функции без использования фразы group by
- •Фраза group by
- •Использование фразы having
- •19. Организация сложных запросов с помощью команды select.
- •Декартово произведение таблиц
- •Соединение таблицы со своей копией
- •Простые вложенные подзапросы
- •Объединение (union)
- •Организация клиент–серверных бд. Модели технологий «клиент–сервер».
- •Технологии доступа к данным. Система драйверов odbc. Источники данных. Создание dsn-файла.
- •Модели безопасность данных. Мандатный и дискреционный подход к обеспечению безопасности данных. Передача и отзыв привилегий пользователей с помощью предложения grant.
- •26.Безопасность баз данных. Средства защиты бд access.
- •31. Использование внешних данных в Access. Создание страниц доступа к данным и загрузка внешних баз данных. Выполнение sql-запросов к серверу ms sql Server.
- •I. Создание html-страницы доступа к данным
- •II. Загрузка в Access базы данных c сервера и работа с ней.
- •III. Выполнение в Access запросов к внешним таблицам, хранящимся на ms sql Server.
- •Совместная работа Access и ms sql Server, работа с удаленными данными на сервере. Использование утилиты Query Analyzer.
- •Работа с внешними данными с помощью технологии odbc
- •Команды Transact-sql
- •Создание представлений
- •Создание триггеров
- •37. Raid массивы и уровни их организации.
4. Проектирование предметной области. Объекты и атрибуты предметной области. Связи между объектами типа 1:1, 1:m, m:n.
Базы данных (БД) всегда создаются для хранения сведений об определенном виде деятельности. Это может быть любой вид деятельности - от коллекционирования марок до ведения домашнего хозяйства. Любая БД хранит сведения о некоторой части реального мира - о людях и предметах, вовлеченных в деятельность, о происходящих событиях, фактах и т.д.
Часть реального мира, сведения о которой хранятся в БД, называется предметной областью (ПО) базы данных.
В БД хранятся только те сведения, которые представляют интерес с точки зрения соответствующего вида деятельности. Так, в вузе о студенте Иванове как о лице, участвующем в процессе обучения, нужно знать, в какой группе он учится, какие оценки по каким предметам получал и т.д. В поликлинике о пациенте Иванове нужно знать, когда и по какому поводу он обращался к врачу, каков его резус-фактор, группа крови и т.д., но совсем ни к чему здесь сведения об его успеваемости.
Объекты - это вовлеченные в деятельность люди, предметы, места, происходящие события и т.д., информация о которых должна храниться в БД. Можно сказать, что объект есть то, что в словесном описании ПО обозначается именем существительным.
Например, СТУДЕНТ, ПРЕПОДАВАТЕЛЬ, УЧЕБНАЯ ДИС-ЦИПЛИНА, АУДИТОРИЯ - объекты ПО «Учебный процесс». ПАЦИЕНТ, ПАЛАТА, ВРАЧ - объекты ПО «Больница».
Объекты обладают определенным набором свойств, которые называются атрибутами. Например: фамилия студента, номер студбилета, номер группы, адрес - атрибуты, соответствующие характеристикам объекта ПО СТУДЕНТ. Объект ПРЕПОДАВАТЕЛЬ имеет такие атрибуты, как: фамилия, номер диплома, специальность, ученая степень и т.д.
В таблице 2.1 приведены экземпляры объекта ПРЕПОДАВАТЕЛЬ с атрибутами НОМЕР, ФИО, Кафедра.
Таблица 2.1
№ преподавателя |
ФИО |
Кафедра |
10 |
Краснов Ю.Б. |
ТИ-1 |
12 |
Володин В.Н. |
ТИ-1 |
62 |
Булгаков В.М. |
РИО |
78 |
Тоянский Л.С. |
ТИ-1 |
85 |
Подушкин М.А. |
ЭИ-1 |
… |
… |
… |
Единицей хранящейся в БД информации является таблица. Каждая таблица представляет собой совокупность строк и столбцов, где строки соответствуют экземпляру объекта, конкретному событию или явлению, а столбцы - атрибутам (признакам, характеристикам, параметрам) объекта, события, явления. На рис. 2.1. приведен пример таблицы, в которой содержатся сведения об отпуске товаров со склада. Столбцы представляют собой такие параметры, как дата отпуска товара, наименование товара, наименование покупателя, количество единиц отпущенного товара. Каждая строка содержит сведения о конкретном событии - отпуске товара покупателю. В терминах БД столбцы таблицы называются полями, а ее строки - записями.
Дата
|
Товар
|
Покупатель
|
Отпущено (ед.)
|
10.12.99 |
Сахар |
Геракл, ТОО |
100 |
10.12.99 |
Сахар |
Геракл, ТОО |
100 |
12.12.99 |
Сахар |
Пищеторг, ЗАО |
2 000 |
12.12.99 |
Макароны |
Пищеторг, ЗАО |
300 |
14.12.99 |
Сахар |
Геракл, ТОО |
200 |
15.12.99 |
Дрожжи |
База № 28 |
100 |
Рис. 2.1. Пример таблицы «Отпуск товаров»
Между отдельными таблицами БД могут существовать связи. Например, информация о покупателе в предыдущей таблице может дополняться в другой (рис. 2.2).
Покупатель
|
Адрес
|
Телефон
|
Геракл, ТОО
|
107005, Москва, 2-я Бауманская ул., 12 |
273-00-14
|
Пищеторг, ЗАО |
105066, Москва, Измайловский б-р, 18/11 |
165-18-99
|
База № 28
|
274088, Хотьково МО, ул. Лесная, 1 |
17-54
|
Рис. 2.2. Пример таблицы «Покупатель»
Базы данных, между отдельными таблицами которых существуют связи, называются реляционными
(от relation - связь, отношение).
Связанные отношениями таблицы взаимодействуют по принципу главная (master) - подчиненная (detail). В нашем примере таблица «Отпуск товаров» - главная, а таблица «Покупатель» - подчиненная. Главную таблицу часто называют родительской, а подчиненную - дочерней. Одна и та же таблица может быть главной по отношению к одной таблице БД и дочерней по отношению к другой.