- •Общие сведения Сведения об эумк
- •Методические рекомендации по изучению дисциплины
- •Рабочая учебная программа
- •Учреждение образования
- •«Белорусский государственный университет
- •Информатики и радиоэлектроники»
- •Пояснительная записка
- •Содержание дисциплины
- •1. Название тем лекционных занятий, их содержание, объем в часах.
- •2 Перечень тем ипр их наименование и объем в часах
- •3 Перечень тем контрольных работ их наименование и объем в часах
- •4. Курсовая работа, ее характеристика
- •Перечень тем курсовых работ
- •5. Литература
- •5.1 Основная
- •5.2 Дополнительная
- •6. Перечень компьютерных программ, наглядных и других пособий, методических указаний и материалов и технических средств обучения
- •7. Учебно-методическая карта дисциплины
- •1.1.2. Классификация субд
- •1.2. Субд начального уровня – MySql
- •1.2.1. Введение в MySql
- •1.2.2. Подготовка к работе с MySql
- •1.2.3. Создание базы данных, основы работы с таблицами MySql
- •1.2.4. Типы данных столбцов MySql
- •1.2.5. Работа с таблицами MySql
- •1.2.6. Логические операторы MySql
- •1.2.7. Команды обработки данных MySql
- •1.2.8. Математические функции MySql
- •1.2.9. Работа с датой и временем в MySql
- •1.2.10. Работа со строками в MySql
- •1.2.11. Дополнительные функции MySql
- •1.3. Субд корпоративного уровня – ms sql Server
- •1.3.1. Общая теория запросов sql
- •1.3.2. Имена в sql
- •1.3.3. Типы данных
- •1.3.4. Константы
- •1.3.5. Выражения
- •1.3.6. Встроенные функции
- •1.3.7. Отсутствующие значения (значения null)
- •1.3.8. Простые запросы sql на выборку данных
- •1.3.9. Предложение select
- •1.3.10. Предложение from
- •1.3.11. Вычисляемые столбцы
- •1.3.12. Выборка всех столбцов (инструкция select *)
- •1.3.13. Повторяющиеся строки (предикат distinct)
- •1.3.14. Отбор строк (предложение where)
- •1.3.15. Условия отбора
- •1.3.16. Составные условия отбора (операторы and, or и not)
- •1.3.17. Сортировка результатов запроса (предложение order by)
- •1.3.18. Правила выполнения однотабличных запросов
- •1.3.19. Сложные запросы
- •1.3.20. Запросы на объединение и повторяющиеся строки
- •1.3.21. Запросы на объединение и сортировка
- •1.3.22. Вложенные запросы на объединение
- •1.3.23. Многотабличные запросы на выборку
- •1.3.24. Запросы с использованием отношения предок/потомок
- •1.3.25. Запросы на выборку к трём и более таблицам
- •1.3.26. Объединение таблиц по неравенству
- •1.3.27. Особенности многотабличных запросов
- •1.3.28. Самообъединения
- •1.3.29. Производительность при обработке многотабличных запросов
- •1.3.30. Умножение таблиц
- •1.3.31. Правила выполнения многотабличных запросов на выборку
- •1.3.32. Внешнее объединение таблиц
- •1.3.33. Левое и правое внешние объединения
- •1.4. Способы взаимодействия программных средств в субд
- •1.4.1. Доступ к базе данных на стороне сервера
- •1.4.2. Доступ к базе данных на стороне клиента
- •1.5. Современные тенденции развития субд
- •1.5.1. Введение
- •1.5.2. Как предсказать тенденции развития субд
- •1.5.3. Эволюционный подход
- •1.5.4. Тенденции развития
- •1. Виртуализация ресурсов и grid-технологии
- •2. Встраивание Information Life Cycle Management (ilm) в субд
- •3. Самоуправление, самодиагностика, самолечение
- •4. Real Application Testing – механизмы промышленного тестирования версий и изменений
- •5. Совершенствование архитектур максимальной доступности
- •6. Включение измерения времени в субд
- •7. Поддержка новых типов данных (xml, rfid, Semantic Web, геном, медицина, быстрые lob и т.Д.)
- •8. Умные механизмы сжатия и дедублирования
- •9. Совершенствование методов защиты данных
- •11. Облачные вычисления (Cloud computing)
- •12. Машины баз данных
- •2.1.2. Администрирование ms sql Server
- •2.2. Повышение надёжности баз данных
- •2.2.1. Обеспечение сохранности данных в MySql
- •2.2.2. Обеспечеие сохранности данных в ms sql Server
- •2.3. Повышение производительности баз данных
- •2.3.1. Повышение производительности MySql
- •2.3.2. Повышение производительности ms sql Server
- •2.4. Повышение безопасности бд
- •2.4.1. Безопасность MySql
- •2.4.2. Безопасность ms sql Server
- •2.5. Модернизация бд в процессе эксплуатации
- •2.5.1. Расширение возможностей MySql
- •2.5.2. Распределённые базы данных
- •Указания по выбору варианта
- •Курсовое проектирование Методические указания по выполнению
- •Цель проектирования
- •Теоретические положения Основные понятия баз данных
- •Этапы проектирования базы данных
- •Модели данных
- •Нормальные формы отношений
- •Задания к выполнению курсового проекта
- •Указания по выбору варианта
- •Правила оформления выполненных заданий
- •Пример проектирования базы данных
Задания к выполнению курсового проекта
Для выполнения проекта необходимо решить следующие задачи:
а) Построить логическую структуру базы данных на уровне взаимосвязей между объектами и на уровне взаимосвязей между атрибутами разных объектов, предварительно определив эти взаимосвязи; подтвердить правильность полученной структуры на экземплярах данных; Примечание. Нечетные варианты должны построить иерархическую структуру, четные -сетевую.
б) выполнить нормализацию отношений, для этого необходимо ввести ограничения, определить функциональные зависимости и ключи; привести каждое отношение к третьей нормальной форме;
в) сформулировать выбранные запросы в терминах реляционной алгебры и показать правильность их обработки на примерах;
г) написать и привести в приложении программу обработки первых трех запросов с помощью СУБД Foxbase+.
Указания по выбору варианта
Номер варианта соответствует последней цифре номера зачётной книжки. Если номер зачётной книжки оканчивается на ноль, выполняется 10-й вариант.
В качестве предметной области проектирования БД выбрана торговая фирма, которая осуществляет выполнение заказов, поступающих от клиентов. Для построения БД использованы следующие объекты и их атрибуты:
1 Фирма (название фирмы, юр. адрес, телефон фирмы, № счета в банке, наименование товара, цена товара);
2 Склад (№склада, адрес склада, №заказа, наименование товара, единицы измерения, кол-во товара, цена товара, отметки об оплате);
3 Кадры (Название фирмы, Ф.И.О. сотрудника, должность сотрудника, образование сотрудника, оклад, дата принятия на работу);
4 Поставщик (№поставщика, Ф.И.О. поставщика, юр. адрес поставщика, №счета поставщика, наименование товара, цена товара);
5 Транспорт (№склада, №автомобиля, марка автомобиля, грузоподъемность, год выпуска, Ф.И.О. владельца, дата перевозки);
6 Накладная (№накладной, наименование товара, единицы измерения, колво, цена, сумма);
7 Товар (Наименование товара, единицы измерения, сорт, цена, изготовитель, адрес изготовителя);
8 Клиент (№клиента, Ф.И.О. клиента, юр. адрес клиента, №счета клиента, №заказа, наименование товара, цена товара);
9 Счет (Наименование банка, №счета, Ф.И.О. владельца счета, состояние счета, дата, наличие кредита, сумма кредита);
10 Заказ (№ заказа, дата заказа, Ф.И.О. клиента, №счета клиента, наименование товара, количество, цена товара).
Ниже приведен перечень запросов к будущей БД, устанавливающей определенные требования к составу, взаимосвязям и условиям обработки запросов.
Перечень возможных запросов
№ Содержание запроса
1. Какие фирмы поставляют данный товар?
2. На каком складе имеется данный товар?
3. Определить название фирмы, должность и оклад данного сотрудника.
4. Какой товар и по какой цене поставляет данный поставщик?
5. Кто из водителей на данном автомобиле перевозил груз в данную дату?
6. Перечислить номера накладных, выписанных на данный товар.
7. Какие предприятия изготавливают данный товар, не выше данной цены?
8. Кто из клиентов заказал данный товар?
9. Кто из владельцев счетов данного банка имеет кредиты на данную дату?
10. Перечислить номера заказов и ФИО клиентов, которые заказали данный товар, в данном количестве.
11. Определить юридический адрес и номера телефонов данной фирмы.
12. Вкаком количестве и по какой цене имеется данный товар на данном складе?
13. Кто из сотрудников данной фирмы был принят на работу на данную дату?
14. Кто из поставщиков не поставляет данный товар по данной цене?
15. Какие автомобили имеют данную грузоподъемность и выпущены не позже данной даты?
16. Какой товар и в каком количестве был отпущен на данную сумму по данной накладной?
17. Найти адреса изготовителей данного товара с данной ценой и данным сортом.
18. Перечислить номера счетов клиентов заказавших данный товар по данной цене.
19. Вкаком банке проводилась оплата данным владельцем по данному счету?
20. Кто из клиентов выполнил заказы позже указанной даты?
21. С каких складов и какой фирмой выполняется поставка данного товара?
22. Определить название фирмы и номер счета, на которой работает данный сотрудник в данной должности.
23. Кто из поставщиков поставлял данный товар на данный склад?
24. Кто из клиентов получал данный товар на данном складе?
25. Какие товары поставляет фирма, на которой работает данный сотрудник?
26. Кто из сотрудников данной фирмы являются поставщиками товара?
27. Кто из поставщиков имеет счет в данном банке?
28. В каком банке открыл счет данный поставщик?
29. На какой адрес склада был доставлен данный товар, автомобилем с данным номером?
30. Является ли владелец автомобиля с данной фамилией работником данной фирмы?
31. Кто из клиентов (ФИО) получал данный товар и по каким номерам накладных?
32. Кто из поставщиков поставлял данный товар и по каким номерам накладных?
33. Перечислить номера складов, на которых имеется данный товар, данного изготовителя.
34. Перечислить номера заказов данного товара и данного изготовителя.
35. Вкаком банке имеет счет клиент с данным номером?
36. Определить номер склада, в котором имеется заказ клиента с данной фамилией.
37. Кто из поставщиков имеет кредит на сумму превышающую заданную?
38. Кто из поставщиков имеет кредит на сумму не превышающую заданную?
39. Найти юридические адреса клиентов, которые оформили заказы на данную дату.
40. Определить сорт товара, на который был оформлен заказ с данным номером.
Ниже приведены варианты заданий и номера запросов.
-
1
2
3
4
5
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
1-3-5-21-23
2-4-6-23-25
3-5-7-25-27
4-6-8-27-29
5-7-9-29-31
6-8-10-31-33
7-9-11-33-35
8-10-12-35-37
9-11-13-37-39
10-12-14-39-21
11-13-15-24-26
12-14-16-26-28
13-15-17-28-30
14-16-18-30-32
15-17-19-32-34
16-18-20-34-36
1-4-7-36-38
2-5-8-38-40
3-6-9-22-23
4-7-10-23-26
5-8-11-26-29
6-9-12-29-32
7-10-13-32-35
8-11-14-35-38
9-12-15-38-39
10-13-16-21-25
11-14-17-25-29
12-15-18-29-33
13-16-19-33-37
14-17-20-36-40
1-5-9-21-26
2-6-10-26-31
3-7-11-31-35
4-8-12-35-40
5-9-13-22-27
6-10-14-27-32
7-11-15-32-37
8-12-16-23-28
9-13-17-28-32
10-14-18-32-37
11-12-13-24-29
13-14-15-29-34
15-16-17-34-39
17-18-19-25-30
1-2-3-30-35
3-4-5-35-40
5-6-7-26-31
7-8-9-31-36
10-11-12-27-32
12-13-14-32-37
14-15-16-28-33
16-17-18-33-38
18-19-20-29-34