
- •Лабораторные работы по курсу иосу
- •Лабораторная работа №1. Проектирование реляционной базы данных в субд Access.
- •Цель работы
- •Описание базы данных
- •Порядок выполнения работы
- •Содержание отчета
- •Порядок выполнения работы
- •Задания по составлению запросов для самостоятельного выполнения
- •Содержание отчета
- •Задания по составлению запросов для самостоятельного выполнения
- •Содержание отчета
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5. Инфологическое моделирование с использованием пакета eRwin
- •Цель работы
- •Порядок выполнения работы
- •Контрольные вопросы
Заполнить таблицу примерными значениями данных (не менее 20 деталей, 5 поставщиков, 5 проектов, 20 поставок).
Содержание отчета
Отчет должен содержать описание БД, описание созданных таблиц с указанием наименований полей их типов данных, схему данных, ответы на контрольные вопросы. К отчету прилагается файл MSAccess(*.mdb)
Контрольные вопросы
Что такое первичный ключ?
Что какое внешний ключ?
Что является первичным ключом в таблице «Поставки»?
Что какое каскадное обновление и каскадное удаление полей? Поясните на примере БД «Предприятие»
Лабораторная работа №2. Оператор SELECTязыкаSQL. Формирование запросов к базе данных. Применение агрегатных функций и операции группировки.
Цель работы
Целью лабораторной работы является изучение синтаксиса оператора SELECTязыкаMicrosoftJetSQL, а так же получение навыков по созданию запросов в СУБДAccessдля разработанной в лабораторной работе №2 базы данных «Предприятие».
Создание запросов в СУБДAccess
СУБД Accessпозволяет использовать операторы языкаSQLдля формирования запросов к базе данных. Существует две возможности для создания и редактирования запросов:
- при помощи визуального редактора «Конструктор запросов»
- путем непосредственного ввода текста запроса на языке SQL.
В лабораторной работе следует использовать второй способ, так как при использовании визуального конструктора запросов часть средств языка SQLнедоступна.
Последовательность создания запроса в СУБД Access:
В окне базы данных открыть вкладку «Запросы». Открыть пункт меню «Создание запроса в режиме конструктора».
Закрыть окно «Добавление таблицы»
Нажав правую кнопку мыши на заголовке окна запроса, выбрать пункт меню «Режим SQL»
В появившемся окне ввести текст SQL-запроса.
При закрытии окна редактирования сохранить запрос, задав ему имя.
Порядок выполнения работы
Получить наименования всех поставщиков из определенного города:
SELECTНаименованиеFROMПоставщикиWHEREГород=”<Имя_города>”;
Получить наименования и города всех поставщиков, обслуживающих определенный проект:
SELECTDISTINCTПоставщики.Наименование, Поставщики.городFROMПроекты, Поставщики, ПоставкиWHEREПоставщики.Номер_поставщика=Поставки.Номер_поставщикаAndПроекты.Номер_проекта=Поставки.Номер_проектаAndПроекты.Наименование="<Наименование_проекта>";
Получить наименования и количества всех деталей, используемых в определенном проекте:
SELECTДетали.Наименование, Поставки.КоличествоFROMПроекты, Детали, ПоставкиWHEREДетали.Номер_детали=Поставки.Номер_деталиAndПроекты.Номер_проекта=Поставки.Номер_проектаAndПроекты.Наименование="<Наименование_проекта>";
Подсчитать количество поставок, осуществляемых для определенного проекта:
SELECT count(*) FROMПроекты, ПоставкиWHERE Проекты.Номер_проекта=Поставки.Номер_проектаAndПроекты.Наименование="<Наименование_проекта>";
Подсчитать количество деталей, участвующих в определенном проекте:
SELECTsum(Поставки.Количество)
FROMПроекты, Поставки
WHEREПроекты.Номер_проекта=Поставки.Номер_проектаAndПроекты.Наименование="<Наименование_проекта>";
Подсчитать количество поставок, осуществляемых для каждого проекта:
SELECTПроекты.Наименование,count(*)
FROMПроекты, Поставки
WHEREПроекты.Номер_проекта=Поставки.Номер_проекта
GROUP BYНаименование;
Получить наименования всех поставщиков, обеспечивающих определенный проект и количества осуществляемых ими поставок для данного проекта:
SELECTПоставщики.Наименование,count(*)
FROMПроекты, Поставки, Поставщики
WHEREПроекты.Номер_проекта=Поставки.Номер_проектаAndПоставщики.Номер_поставщика=Поставки.Номер_поставщикаAnd Проекты.Наименование="<Наименование_проекта>"
GROUP BYПоставщики.Наименование;