ВОПРОСЫ ДЛЯ ПОДГОТОВКИ К ЭКЗАМЕНУ ПО УЧЕБНОЙ ДИСЦИПЛИНЕ Основы проектирования баз данных для студентов 2 курса по специальности 09.02.07 Информационные системы и программирование Раздел 1 Основы теории баз данных и типы моделей данных. Теоретические вопросы: 1. Концепция и технология баз данных. Понятие банка данных, базы данных,СУБД. 2. Понятие и классификация баз данных. 3. Функции СУБД. Архитектура СУБД. Компоненты архитектуры и их характеристика. 4. Классификация моделей данных. Иерархическая модель данных 5. Классификация моделей данных. Сетевая модель данных. 6. Классификация моделей данных. Реляционная модель данных. 7. *Принципы поддержки целостности в реляционной модели БД 8. Концептуальная, логическая и физическая модели БД 9. Понятие отношения. Состав отношения. Виды отношений. 10. *Понятие сущности. Взаимоотношения между сущностями. 11. *Инфологическая модель данных «Сущность-связь». Связи: один к одному, один ко многим, многие ко многим 12. *ER-диаграммы, правила построения. 13. Нормализация отношений. 1-я Нормальная Форма. Метод приведения отношения к 1НФ. 14. Нормализация отношений. 2-я Нормальная Форма. Характеристика отношения во 2НФ. Алгоритм приведения ко 2НФ. 15. Нормализация отношений. 3-я Нормальная Форма. Примеры. Алгоритм приведения к 3НФ. 16. Основные свойства баз данных. 17. Понятие первичного и внешнего ключа. Принцип ограничения целостности данных по сущностям и по ссылкам. 18. *Объекты баз данных. 19. Трехуровневая модель базы данных. 20. Двухуровневая модель базы данных. 21. Архитектура БД «Файл-Сервер». 22. Архитектура БД «Клиент-Сервер» Раздел 2 Принципы построения и средства проектирования структур баз данных. Теоретические вопросы: 23. Этапы проектирования баз данных и их характеристика 24. *Объекты баз данных. 25. Генераторы. Понятие и назначение. 26. Триггеры. Понятие и область применения. Типы триггеров. 27. Хранимые процедуры. Понятие и область применения. Типы хранимых процедур. 28. Основные свойства баз данных. 29. Распределенные базы данных, распределенная обработка данных 30. Основные функции администратора БД 31. Транзакции, свойства транзакции, журнал транзакций 32. Копирование и восстановление базы данных. Раздел 3 Язык SQL Теоретические вопросы: *Определите результат выполнения запроса: 33. SELECT * FROM Клиент 34. SELECT ALL Клиент.Фирма FROM Клиент эквивалентно или нет 35. SELECT Клиент.Фирма FROM Клиент 36. SELECT * FROM Сделка WHERE Количество>20 37. SELECT Название, Цена FROM Товар WHERE Цена>=100 And Цена<=150 38. SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента=”Москва” Or ГородКлиента=”Самара” 39. SELECT Название, Цена FROM Товар WHERE Цена Between 100 And 150 40. Товар.Название, Товар.Цена FROM Товар WHERE Товар.Цена Not Between 100 And 150 41. SELECT Товар.Название, Товар.Цена FROM Товар WHERE (Товар.Цена<100) OR (Товар.Цена>150) 42. SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента in (”Москва”, ”Самара”) 43. SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента Not in (”Москва”,”Самара”) 44. SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Like ”_4%” 45. SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Like ”_[24]%” 46. SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Like ”_[2-4]%” 47. SELECT Клиент.Фамилия FROM Клиент WHERE Клиент.Фамилия Like ”%ро%” 48. SELECT Фамилия, Телефон FROM Клиент WHERE Телефон Is Null 49. SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Is Not Null 50. SELECT Клиент.Фамилия, Клиент.Фирма 2 FROM Клиент ORDER BY Клиент.Фамилия 51. SELECT Клиент.Фирма, Клиент.Фамилия FROM Клиент ORDER BY Клиент.Фирма, Клиент.Фамилия DESC 52. SELECT Товар.Название, Товар.Цена, Сделка.Количество, Товар.Цена*Сделка.Количество AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара 53. SELECT Товар.Название, Year(Сделка.Дата) AS Год, Month(Сделка.Дата) AS Месяц FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара 54. SELECT Фирма, Фамилия+""+ Left(Имя,1)+"."+Left(Отчество,1)+"."AS ФИО FROM Клиент 55. SELECT Min(Товар.Название) AS Min_Название FROM Товар 56. SELECT Count(*) AS Количество_сделок FROM Сделка 57. SELECT Sum(Сделка.Количество) AS Количество_товара FROM Сделка 58. SELECT Avg(Товар.Цена) AS Avg_Цена FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара; 59. SELECT Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара 60. SELECT Клиент.Фамилия, Avg(Сделка.Количество) AS Среднее_количество FROM Клиент INNER JOIN Сделка ON Клиент.КодКлиента=Сделка.КодКлиента GROUP BY Клиент.Фамилия 61. SELECT Товар.Название, Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара GROUP BY Товар.Название 62. SELECT Клиент.Фирма, Count(Сделка.КодСделки) AS Количество_сделок FROM Клиент INNER JOIN Сделка ON Клиент.КодКлиента=Сделка.КодКлиента GROUP BY Клиент.Фирма 63. SELECT Клиент.Фирма, Sum(Сделка.Количество) AS Общее_Количество, Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN (Клиент INNER JOIN Сделка ON Клиент.КодКлиента=Сделка.КодКлиента) ON Товар.КодТовара=Сделка.КодТовара 3 GROUP BY Клиент.Фирма 64. SELECT Товар.Название, Month(Сделка.Дата) AS Месяц, Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара GROUP BY Товар.Название, Month(Сделка.Дата) 65. SELECT Товар.Название, Month(Сделка.Дата) AS Месяц, Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара WHERE Товар.Сорт="Первый" GROUP BY Товар.Название, Month(Сделка.Дата) 66. SELECT Клиент.Фирма, Count(Сделка.Количество) AS Количество_сделок FROM Клиент INNER JOIN Сделка ON Клиент.КодКлиента=Сделка.КодКлиента GROUP BY Клиент.Фирма HAVING Count(Сделка.Количество)>3 67. SELECT Товар.Название, Sum(Товар.Цена*Сделка.Количество) AS Стоимость FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара GROUP BY Товар.Название HAVING Sum(Товар.Цена*Сделка.Количество)>10000 68. SELECT Товар.Название FROM Товар INNER JOIN Сделка ON Товар.КодТовара=Сделка.КодТовара GROUP BY Товар.Название HAVING Sum(Товар.Цена*Сделка.Количество)>10000 Практические задания *Проанализировать данные, описанные в предметной области. При помощи среды MS Access создать таблицы для представления предметной области в рамках реляционной модели. Построить схему данных. Для каждой создаваемой таблицы: – – – – – Определить типы данных для полей. Определить первичный ключ. Определить внешний ключ (если он есть). Определить обязательные поля Создать форму для ввода данных в таблицы Предметные области: 1. Страховая компания 2. Гостиница 3. Ломбард 4. Реализация готовой продукции 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. Досуг молодежи 41. Выставочные залы города 42. Каталог изданий периодической печати 43. Банк данных насаждений парков 44. Музейные фонды 45. Лицензионное программное обеспечение организации 46. Арендная плата за нежилые помещения 47. Трудоустройство 48. Спортивные сооружения области 49. Паспорт здоровья сотрудника 5