Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Дисциплина «Теоретические основы организации

Читайте также:
  1. A1. Сущность и классификация организаций. Жизненный цикл организации и специфика управления на различных его этапах.
  2. I. Общие рекомендации по организации самостоятельной работы студентов
  3. I. Семинар. Тема 1. Предмет, система, задачи судебной медицины. Правовые и организационные основы судебно-медицинской экспертизы, Понятие, объекты, виды, экспертизы
  4. II. Основы правового статуса личности и взаимоотношения личности и государства
  5. II.1. Оценка финансовой деятельности строительной организации с помощью финансового анализа.
  6. II.1.1 Основные источники информации для оценки эффективности строительной организации
  7. III. Популяционно-видовой уровень организации живого.
  8. III. Порядок организации и проведения Олимпиады
  9. III. Требования к организации системы обращения с медицинскими отходами
  10. IV. Принципы организации и осуществления государственной власти

многопроцессорных комплексов и систем»

1. Организация вычислительной системы, повышающей скорость параллельной обработки независимых задач. Кроссбар.

2. Параллельная поразрядная обработка массива операндов. Ассоциативный последовательно–параллельный векторный процессор. Ортогональный процессор.

3. Ассоциативные однородные вычислительные среды. Ускорение сложения по методу «разряд на зону». Ускорение многоместной операции сложения по методу параллельной свертки.

4. Организация, временные характеристики и показатели ускорения синхронных и асинхронных конвейеров.

5. Конвейеризация вычислений с плавающей и фиксированной точкой.

6. Конвейер команд. Конфликт по управлению. Структурный риск. Риск по данным. Преодоление конфликта по управлению путем статического и динамического предсказания перехода.

7. Векторно–конвейерные вычислительные системы. Повышение производительности по способу сцепления векторов.

8. Матричные ВС с общим управлением (SIMD–системы), ускоряющие обработку при массовом регулярном параллелизме операций.

9. Особенности организации систем с управлением вычислениями от потока данных. Функциональная организация потоковых ВС по методу ссылок и тегирования.

10. Уровни параллелизма в многопроцессорных системах. Метрики параллельных вычислений. Законы Амдала и Густафсона для оценки потери ускорения в параллельных ВС.

11. Методика математического моделирования ВС стохастическими сетями систем массового обслуживания. Замкнутые и разомкнутые сети. Имитационное моделирование ВС по методу Монте–Карло.

12. Организация транспьютерных сетей. Программирование структуры. Язык Оккам.

13. Организация памяти параллельных ВС. Мультипроцессоры и мультикомпьютеры. Протоколы когерентности кэш-памятей в мультипроцессорах.

14. Коммутационные коммуникационные среды мультипроцессоров. Омега–сеть.

15. Коммуникация в мультикомпьютерах. Взаимная синхронизация процессоров при передаче сообщений. Принцип синхронизации взаимодействия «рандеву». Топологии коммуникационных сред.

16. Кластерные вычислительные системы высокой готовности. Отечественный кластер МВС–1000М.

17. Основные проблемы параллельного программирования массово–параллельных мультикомпьютеров (MPP–систем). Причины снижения загрузки процессоров при увеличении их числа в MPP–системах. Пути решения проблемы переносимости наследуемого последовательного программного обеспечения на параллельные многопроцессорные платформы широкого назначения.

18. RISC–микропроцессоры. Суперскалярный конвейер команд.

19. Архитектуры VLIV и EPIC–микропроцессоров. Предикация в командах архитектуры JA–64.

 

Дисциплина «Программирование»

1. Порядок изготовления программ в Си и Си++. Работа в интегрированной среде разработки приложений Borland C++ Builder. Структура проекта приложения Windows в C++ Builder.

2. Общая структура и синтаксис программы в Си++. Структура проекта консольного приложения C++ Builder.

3. Структура программ в Си++. Заголовочные и исходные файлы. Компиляция и компоновка программ. Единицы трансляции. Организация многомодульных программ.

4. Алфавит и лексемы Си++. Классификация лексем.

5. Лексемы Си++. Литералы. Правила записи константных значений.

6. Лексемы Си++. Разделители и знаки операций.

7. Лексемы Си++. Идентификаторы, служебные слова и комментарии.

8. Типы данных в Си++. Классификация типов. Основные скалярные типы данных.

9. Типы данных в Си++. Агрегатные (структурированные) типы. Спецификатор typedef.

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. Функции в Си++. Подставляемые (inline) функции. Ограничения при подстановке функций. Подстановка стандартных функций.

35. Функции с переменным списком параметров. Назначение. Определение и вызов. Макросы va_start, va_arg, va_end.

36. Указатели на функции. Массивы указателей на функции. Передача функций в функции.

37. Рекурсивные алгоритмы и функции в Си++. Особенности определения и вызова рекурсивных функций.

38. Перегрузка функций. Назначение. Определение и вызов перегруженных функций. Понятие «смешивания» имен функций.

39. Шаблоны функций. Назначение. Определение и описание шаблонов. Параметры и аргументы шаблонов. Инстанцирование шаблонов.

 

Дисциплина «Базы данных»

1. По заданному словесному описанию предметной области спроектировать реляционную базу данных: определить структуру таблиц, декларативные и отложенные ограничения целостности. Доказать целесообразность выбранной структуры. Написать SQL-запросы для создания таблиц (примеры для 2-3 таблиц, содержащие фразы для поддержания целостности данных).

Система складского учета. Имеется № складов. Каждый i-й склад состоит из Мi типовых ячеек для хранения товара. Товар в ячейки загружается и хранится на поддонах. Имеется Р типов поддонов, различающихся шириной. Количество поддонов, способных поместиться в одну ячейку, фиксировано и свое для поддона каждого типа (ситуация, когда в одну ячейку загружены поддоны разной ширины, исключается).

Имеется номенклатура (перечень) товара, хранящегося на складах. Каждый товар характеризуется: уникальным кодом, артикулом (необязательный атрибут), наименованием, типом упаковки. Для каждого типа поддона и кода товара существует показатель – максимальное количество товара, который можно уместить на поддоне. При заполнении БД необходимо контролировать, чтобы реальное количество товара было меньше или равно.

Все перемещения товаров на складах описываются следующими документами:

1) Приходная накладная. Атрибуты: номер приходной накладной, дата, поставщик, номер склада, перечень товара с указанием количества.

2) Расходная накладная. Атрибуты: номер расходной накладной, дата, получатель, номер склада, перечень товара с указанием количества.

Накладная перемещения. Атрибуты: номер накладной перемещения, дата, номер склада исходного, номер склада целевого, перечень товара с указанием количества.

 

3) Карта размещения представляет собой таблицу: номер ячейки, товар, тип поддона, количество товара на поддоне, количество поддонов (с динамической загрузкой товара).

Карта размещения прикрепляется в 1 экземпляре к каждой приходной и расходной накладной, и в 2 экземплярах к накладной перемещения (описаны исходный и целевой склады).

Все типы документов должны храниться в базе данных.

 

2. Некий оператор мобильной связи хранит информацию о своих абонентах в реляционной базе данных, состоящей из таблиц (названия предлагаются на русском языке, при решении допускается менять на английские).

Тарифы: (КодТарифа (РК), НазваниеТарифа, ЦенаЗаСекунду). Для простоты будем считать, что оплата посекундная с первой секунды разговора.

Абоненты: (КодАбонента (РК), ГодРождения, НомерТелефона (unique), ФИО, ГодРождения, ПаспортныеДанные, АдресРегистрации, ДатаПодключения, КодТарифа (FK), СуммаНаСчете).

Платежи: (КодАбонента (FK), Дата, Сумма).

Разговоры: (КодАбонента (FK), Номер, Дата, ВремяНачалаРазговора, Длительность, Тип {исходящий или входящий}).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая выводит список свободных («ничьих») номеров телефонов.

 

3. Некий оператор мобильной связи хранит информацию о своих абонентах в реляционной базе данных, состоящей из таблиц (названия предлагаются на русском языке, при решении допускается менять на английские).

Тарифы: (КодТарифа (РК), НазваниеТарифа, ЦенаЗаСекунду). Для простоты будем считать, что оплата посекундная с первой секунды разговора.

Абоненты: (КодАбонента (РК), ГодРождения, НомерТелефона (unique), ФИО, ГодРождения, ПаспортныеДанные, АдресРегистрации, ДатаПодключения, КодТарифа (FK), СуммаНаСчете).

Платежи: (КодАбонента (FK), Дата, Сумма).

Разговоры: (КодАбонента (FK), Номер, Дата, ВремяНачалаРазговора, Длительность, Тип {исходящий или входящий}).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая выводит список кандидатов на отключение в формате: Код Абонента, ФИО, Номер Телефона. Критерием является сумма на счете «0» и отсутствие звонков (исходящих и входящих) в течение полугода.

 

4. Некий оператор мобильной связи хранит информацию о своих абонентах в реляционной базе данных, состоящей из таблиц (названия предлагаются на русском языке, при решении допускается менять на английские).

Тарифы: (КодТарифа (РК), НазваниеТарифа, ЦенаЗаСекунду). Для простоты будем считать, что оплата посекундная с первой секунды разговора.

Абоненты: (КодАбонента (РК), ГодРождения, НомерТелефона (unique), ФИО, ГодРождения, ПаспортныеДанные, АдресРегистрации, ДатаПодключения, КодТарифа (FK), СуммаНаСчете).

Платежи: (КодАбонента (FK), Дата, Сумма).

Разговоры: (КодАбонента (FK), Номер, Дата, ВремяНачалаРазговора, Длительность, Тип {исходящий или входящий}).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая выводит статистику по всем своим абонентам: (Возраст, Лет; % от числа абонентов; среднее время разговора).

 

5. Некий оператор мобильной связи хранит информацию о своих абонентах в реляционной базе данных, состоящей из таблиц (названия предлагаются на русском языке, при решении допускается менять на английские).

Тарифы: (КодТарифа (РК), НазваниеТарифа, ЦенаЗаСекунду). Для простоты будем считать, что оплата посекундная с первой секунды разговора.

Абоненты: (КодАбонента (РК), ГодРождения, НомерТелефона (unique), ФИО, ГодРождения, ПаспортныеДанные, АдресРегистрации, ДатаПодключения, КодТарифа (FK), СуммаНаСчете).

Платежи: (КодАбонента (FK), Дата, Сумма).

Разговоры: (КодАбонента (FK), Номер, Дата, ВремяНачалаРазговора, Длительность, Тип {исходящий или входящий}).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая на произвольном диалекте SQL написать хранимую процедуру, которая по двум кодам абонентов выводит список общих «знакомых» этих абонентов, анализируя исходящие и входящие номера. Если «знакомый» является абонентом этого же оператора, выводится (Номер Телефона, ФИО), иначе (Номер Телефона, вместо «ФИО» – пусто).

 

6. Некий оператор мобильной связи хранит информацию о своих абонентах в реляционной базе данных, состоящей из таблиц (названия предлагаются на русском языке, при решении допускается менять на английские).

Тарифы: (КодТарифа (РК), НазваниеТарифа, ЦенаЗаСекунду). Для простоты будем считать, что оплата посекундная с первой секунды разговора.

Абоненты: (КодАбонента (РК), ГодРождения, НомерТелефона (unique), ФИО, ГодРождения, ПаспортныеДанные, АдресРегистрации, ДатаПодключения, КодТарифа (FK), СуммаНаСчете).

Платежи: (КодАбонента (FK), Дата, Сумма).

Разговоры: (КодАбонента (FK), Номер, Дата, ВремяНачалаРазговора, Длительность, Тип {исходящий или входящий}).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая на произвольном диалекте SQL написать хранимую процедуру, которая на вход получает два кода абонентов, и дает ответ, связаны ли эти два человека общими знакомыми (непосредственно, либо через цепочку других абонентов, длина цепочки не ограничивается). Анализируются только абоненты данного мобильного оператора

 

7. Некий оператор мобильной связи хранит информацию о своих абонентах в реляционной базе данных, состоящей из таблиц (названия предлагаются на русском языке, при решении допускается менять на английские).

Тарифы: (КодТарифа (РК), НазваниеТарифа, ЦенаЗаСекунду). Для простоты будем считать, что оплата посекундная с первой секунды разговора.

Абоненты: (КодАбонента (РК), ГодРождения, НомерТелефона (unique), ФИО, ГодРождения, ПаспортныеДанные, АдресРегистрации, ДатаПодключения, КодТарифа (FK), СуммаНаСчете).

Платежи: (КодАбонента (FK), Дата, Сумма).

Разговоры: (КодАбонента (FK), Номер, Дата, ВремяНачалаРазговора, Длительность, Тип {исходящий или входящий}).

На произвольном диалекте SQL написать SQL-запрос для создания системы триггеров, реализующих отложенные ограничения целостности:

- при добавлении строки в таблицу Платежи, автоматически увеличивать СуммуНаСчете соответствующего абонента;

- при добавлении и обновлении строки в таблице Разговоры с типом «Исходящие», автоматически списывать деньги со счета абонента. Учесть, что при обновлении оплачивается разница между старым и новым значением Длительности. Если сумма на счете £0, ничего не предпринимать.

 

8. База данных столовой санатория хранит информацию об отдыхающих и их питании в следующих таблицах (названия даны на русском языке, при решении задачи их можно менять на английские):

Отдыхающие (КодПациента (РК), ФИО, НомерКорпусаПроживания)

Диета (КодДиеты (РК), НазваниеДиеты)

Блюдо (КодБлюда (РК), НазваниеБлюда, Калорийность)

Расписание обедов-ужинов хранится в таблице:

Время Подачи (КодВремени (РК), Название, ВремяНачала, ВремяОкончания).

Здесь столбец «Название» хранит «завтрак», «обед», «полдник», «ужин».

Состав Диет (КодБлюда (FK), КодДиеты (FK), КодВремени (FK))

Одно блюдо может входить в несколько диет.

«История» питания отдыхающих за период их пребывания в санатории описывается таблицей:

Питание (КодПациента(FK), КодДиеты(FK), ДатаНачала, ДатаОкончания). Отдыхающий может сменить несколько диет, даты диет в таблице Питание не перекрываются.

На произвольном диалекте SQL написать SQL-запрос, выводящий суммарное количество ккал блюд, съеденных каждым отдыхающим за сегодняшний день в формате (КодПациента, ФИО, СуммарнаяКалорийность).

 

9. База данных столовой санатория хранит информацию об отдыхающих и их питании в следующих таблицах (названия даны на русском языке, при решении задачи их можно менять на английские):

Отдыхающие (КодПациента (РК), ФИО, НомерКорпусаПроживания)

Диета (КодДиеты (РК), НазваниеДиеты)

Блюдо (КодБлюда (РК), НазваниеБлюда, Калорийность)

Расписание обедов-ужинов хранится в таблице:

Время Подачи (КодВремени (РК), Название, ВремяНачала, ВремяОкончания)

Здесь столбец «Название» хранит «завтрак», «обед», «полдник», «ужин».

Состав Диет (КодБлюда (FK), КодДиеты (FK), КодВремени (FK))

Одно блюдо может входить в несколько диет.

«История» питания отдыхающих за период их пребывания в санатории описывается таблицей:

Питание (КодПациента(FK), КодДиеты(FK), ДатаНачала, ДатаОкончания). Отдыхающий может сменить несколько диет, даты диет в таблице Питание не перекрываются.

На произвольном диалекте SQL написать SQL-запрос для создания представления (view) – плана приготовления блюд на сегодняшний день в формате (НазваниеВремениПодачи, НазваниеБлюда, НомерКорпуса, КоличествоБлюд).

 

10. База данных столовой санатория хранит информацию об отдыхающих и их питании в следующих таблицах (названия даны на русском языке, при решении задачи их можно менять на английские):

Отдыхающие (КодПациента (РК), ФИО, НомерКорпусаПроживания)

Диета (КодДиеты (РК), НазваниеДиеты)

Блюдо (КодБлюда (РК), НазваниеБлюда, Калорийность)

Расписание обедов-ужинов хранится в таблице:

Время Подачи (КодВремени (РК), Название, ВремяНачала, ВремяОкончания)

Здесь столбец «Название» хранит «завтрак», «обед», «полдник», «ужин».

Состав Диет (КодБлюда (FK), КодДиеты (FK), КодВремени (FK))

Одно блюдо может входить в несколько диет.

«История» питания отдыхающих за период их пребывания в санатории описывается таблицей:

Питание (КодПациента(FK), КодДиеты(FK), ДатаНачала, ДатаОкончания). Отдыхающий может сменить несколько диет, даты диет в таблице Питание не перекрываются.

На произвольном диалекте SQL написать SQL-запрос для подсчета калорийности каждой диеты в формате (НазваниеДиеты, НазваниеВремениПодачи, СуммарнаяКалорийностьБлюд).

 

11. По заданному словесному описанию предметной области спроектировать реляционную базу данных: определить структуру таблиц, декларативные и отложенные ограничения целостности. Доказать целесообразность выбранной структуры. Написать SQL-запросы для создания таблиц (примеры для 2-3 таблиц, содержащие фразы для поддержания целостности данных).

Разработать систему индексов: указать, на какие столбцы разумно установить индексы и тип индекса (плотный, неплотный, кластеризованный и др. в зависимости от того, какие типы индексов поддерживает выбранная Вами СУБД). Написать SQL-запрос для создания 1-2 индексов.

Справочник кулинарных рецептов.

Все рецепты разбиты на группы (супы, салаты, блюда из рыбы, блюда из говядины и др.), один рецепт может входить в несколько групп.

Каждый рецепт имеет уникальный номер, название блюда, список ингредиентов в расчете на одну порцию (название, количество, единица измерения) и способ приготовления. Ингредиентами могут быть как простые продукты (например: молоко, мука, сахар), так и сложные, приготовленные по рецептам этого справочника (соусы, маринады). В этом случае делается ссылка на номер соответствующего рецепта.

Поиск рецептов предполагается вести по группам, номерам и названиям рецептов.

 

12. В системе автоматизации производства учет материалов на складе и в производстве часто производится в разных единицах измерения. Например, краска, фасованная в банки по 3 л, на складе учитывается в штуках, а на производстве в литрах или килограммах. Каждый материал может измеряться в нескольких единицах. Одна из них является базовой, остальные – альтернативные. Для пересчета объектов из одной единицы измерения в другую предназначены таблицы:

Единицы Измерения (КодЕдиницыИзмерения (РК), НазваниеЕдиницыИзмерения).

Номенклатура (КодМатериала (РК), Название, Упаковка, КодБазовойЕдиницыИзмерения (FK)).

Альтернативы (КодМатериала(FК), КодАльтернативнойЕдиницы
Измерения (FK)).

Таблица пересчета (КодБазовойЕдиницыИзмерения(FK), КодАльтернативнойЕдиницыИзмерения(FK), Коэффициент).

Пересчет выполняется по формуле:

Объем в альтернативных единицах=объем в Базовых Единицах* Коэффициент

Информация о материалах, хранящихся на складе, записана в таблице:

Склад (КодМатериала(FK), КодБазовойЕдиницыИзмерения(РК), Количество).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая выводит объемы материалов, хранящихся на складе, во всех возможных единицах измерения, применимых к данному материалу (так краску в 3-литровых банках в штуках, литрах и килограммах; доски в штуках и м3, и т. д.) в формате: (КодМатериала, Название, Упаковка, Объем, НазваниеЕдиницыИзмерения).

 

13. В системе автоматизации производства учет материалов на складе и в производстве часто производится в разных единицах измерения. Например, краска, фасованная в банки по 3 л, на складе учитывается в штуках, а на производстве в литрах или килограммах. Каждый материал может измеряться в нескольких единицах. Одна из них является базовой, остальные – альтернативные. Для пересчета объектов из одной единицы измерения в другую предназначены таблицы:

Единицы Измерения (КодЕдиницыИзмерения (РК), НазваниеЕдиницыИзмерения)

Номенклатура (КодМатериала (РК), Название, Упаковка, КодБазовойЕдиницыИзмерения (FK))

Альтернативы (КодМатериала(FК), КодАльтернативнойЕдиницы
Измерения (FK))

Таблица пересчета (КодБазовойЕдиницыИзмерения(FK), КодАльтернативнойЕдиницыИзмерения(FK), Коэффициент)

Пересчет выполняется по формуле:

Объем в альтернативных единицах=объем в Базовых Единицах* Коэффициент

Информация о материалах, хранящихся на складе, записана в таблице:

Склад (КодМатериала(FK), КодБазовойЕдиницыИзмерения(РК), Количество).

Отгрузка материалов со склада в цех производится по расходной накладной. Каждая накладная имеет уникальный номер и может содержать несколько позиций материалов. Содержимое накладных находится в таблице

Накладные(НомерНакладной, КодМатериала (РК), КодБазовойЕдиницы
Измерения, Количество).

На произвольном диалекте SQL написать хранимую процедуру, которая на вход получает Номер Накладной, а на выходе – код результата. Процедура пытается списать товар со склада. Тело хранимой процедуры оформить в виде транзакции. Если какого-либо материала на складе в нужном объеме нет, произвести откат транзакции и завершить процедуру с кодом - 1. При успешном списании всех материалов выполнить фиксацию транзакции и завершить процедуру с кодом 0

 

14. В системе автоматизации производства учет материалов на складе и в производстве часто производится в разных единицах измерения. Например, краска, фасованная в банки по 3 л, на складе учитывается в штуках, а на производстве в литрах или килограммах. Каждый материал может измеряться в нескольких единицах. Одна из них является базовой, остальные – альтернативные. Для пересчета объектов из одной единицы измерения в другую предназначены таблицы:

Единицы Измерения (КодЕдиницыИзмерения (РК), НазваниеЕдиницыИзмерения)

Номенклатура (КодМатериала (РК), Название, Упаковка, КодБазовойЕдиницыИзмерения (FK))

Альтернативы (КодМатериала(FК), КодАльтернативнойЕдиницы
Измерения (FK)).

Таблица пересчета (КодБазовойЕдиницыИзмерения(FK), КодАльтернативнойЕдиницыИзмерения(FK), Коэффициент)

Пересчет выполняется по формуле:

Объем в альтернативных единицах=объем в Базовых Единицах* Коэффициент

Информация о материалах, хранящихся на складе, записана в таблице:

Склад (КодМатериала(FK), КодБазовойЕдиницыИзмерения(РК), Количество).

Запрос из цеха на склад материалов оформляется в виде временной таблицы:

Запрос (КодМатериала(FK), Количество, КодЕдиницыИзмерения).

Здесь ЕдиницыИзмерения может быть как базовой, так и альтернативной.

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая выводит список материалов, отсутствующих на складе в необходимом объеме.

15. В системе автоматизации производства учет материалов на складе и в производстве часто производится в разных единицах измерения. Например, краска, фасованная в банки по 3 л, на складе учитывается в штуках, а на производстве в литрах или килограммах. Каждый материал может измеряться в нескольких единицах. Одна из них является базовой, остальные – альтернативные. Для пересчета объектов из одной единицы измерения в другую предназначены таблицы:

Единицы Измерения (КодЕдиницыИзмерения (РК), НазваниеЕдиницыИзмерения)

Номенклатура (КодМатериала (РК), Название, Упаковка, КодБазовойЕдиницыИзмерения (FK))

Альтернативы (КодМатериала(FК), КодАльтернативнойЕдиницы
Измерения (FK)).

Таблица пересчета (КодБазовойЕдиницыИзмерения(FK), КодАльтернативнойЕдиницыИзмерения(FK), Коэффициент)

Пересчет выполняется по формуле:

Объем в альтернативных единицах=объем в Базовых Единицах* Коэффициент

Информация о материалах, хранящихся на складе, записана в таблице:

Склад (КодМатериала(FK), КодБазовойЕдиницыИзмерения(РК), Количество).

Запрос из цеха на склад материалов оформляется в виде временной таблицы:

Запрос (КодМатериала(FK), Количество, КодЕдиницыИзмерения).

Здесь Единицы Измерения может быть как базовой, так и альтернативной.

На произвольном диалекте SQL создать триггер на обновление столбца Номенклатура. КодБазовойЕдиницыИзмерения. При изменении столбца триггер автоматически обновляет столбцы Склад. КодБазовойЕдиницыИзмерения и Склад. Количество, выполняя перерасчет объемов. Для упрощения задачи таблицу Перерасчета не модифицировать.

 

16. В базе данных ж/д вокзала хранятся сведения о железнодорожных маршрутах и продаже билетов на рейсы. Каждый маршрут (допустим, Курск-Москва) имеет по ходу следования промежуточные остановки (Поныри, Орел, Тула), каждая остановка характеризуется порядковым номером в маршруте (пункт отправления Курск – №1, Поныри – №2, Орел – №3, Тула – №4, конечный пункт Москва – № 6). Эта информация хранится в таблицах:

Станции (КодСтанции (РК), Название).

Маршруты (КодМаршрута (РК), КодСтанцииОтправления (FK), КодСтанцииНазначения (FK)).

Остановки (КодМаршрута (FK), КодСтанции (FK), №Остановки, ВремяОтНачалаРейса(мин), ВремяСтоянки(мин)).

В эту таблицу включен пункт отправления (№1, время = 0) и пункт назначения.

Для упрощения задачи будем считать, что сведения о комплектации поездов вагонами и количестве мест хранится в другой таблице. Нам представлена таблица:

Транспорт (НомерПоезда (РК), ОбщееКоличествоМест).

Рейсы (КодРейса (РК), КодМаршрута(FK), НомерПоезда(FK), Дата).

Сведения о проданных билетах хранятся в таблице:

Билеты (КодРейса(FK), Вагон, Место, НомерОстановкиМестаПосадки, НомерОстановкиМестаНазначения, ФИО, ПаспортныеДанные).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая для двух заданных кодов станций А и В определяет, можно ли добраться из пункта А в пункт В без пересадок или с одной пересадкой, и выводит коды задействованных маршрутов.

 

17. В базе данных ж/д вокзала хранятся сведения о железнодорожных маршрутах и продаже билетов на рейсы. Каждый маршрут (допустим, Курск-Москва) имеет по ходу следования промежуточные остановки (Поныри, Орел, Тула), каждая остановка характеризуется порядковым номером в маршруте (пункт отправления Курск – №1, Поныри – №2, Орел – №3, Тула – №4, конечный пункт Москва – № 6). Эта информация хранится в таблицах:

Станции (КодСтанции (РК), Название).

Маршруты (КодМаршрута (РК), КодСтанцииОтправления (FK), КодСтанцииНазначения (FK)).

Остановки (КодМаршрута (FK), Кодстанции (FK), №Остановки, ВремяОтНачалаРейса(мин), Времястоянки(мин)).

В эту таблицу включен пункт отправления (№1, время = 0) и пункт назначения.

Для упрощения задачи будем считать, что сведения о комплектации поездов вагонами и количестве мест хранится где-то. Нам представлена таблица:

Транспорт (НомерПоезда (РК), ОбщееКоличествоМест)

Рейсы (КодРейса (РК), КодМаршрута(FK), НомерПоезда(FK), Дата).

Сведения о проданных билетах хранятся в таблице:

Билеты (КодРейса(FK), Вагон, Место, НомерОстановкиМестаПосадки, НомерОстановкиМестаНазначения, ФИО, Паспортныеданные).

Написать хранимую процедуру, которая получает на вход: Код Рейса, Номера остановок А и В, и возвращает количество свободных мест на «перегон» между этими станциями. При решении задачи следует рассмотреть следующую ситуацию.

Пусть общее число мест =10. Взаимное расположение станций и количество проданных билетов представлены схемой. Количество свободных мест из В в Е равно 0, несмотря на то, что один пассажир выходит в В, потому что уже продан билет на внутреннем участке С–D.

18. В базе данных ж/д вокзала хранятся сведения о железнодорожных маршрутах и продаже билетов на рейсы. Каждый маршрут (допустим, Курск-Москва) имеет по ходу следования промежуточные остановки (Поныри, Орел, Тула), каждая остановка характеризуется порядковым номером в маршруте (пункт отправления Курск – №1, Поныри – №2, Орел – №3, Тула – №4, конечный пункт Москва – № 6). Эта информация хранится в таблицах:

Станции (КодСтанции (РК), Название).

Маршруты (КодМаршрута (РК), КодСтанцииОтправления (FK), КодСтанцииНазначения (FK)).

Остановки (КодМаршрута (FK), Кодстанции (FK), №Остановки, ВремяОтНачалаРейса(мин), Времястоянки(мин)).

В эту таблицу включен пункт отправления (№1, время = 0) и пункт назначения.

Для упрощения задачи будем считать, что сведения о комплектации поездов вагонами и количестве мест хранится где-то. Нам представлена таблица:

Транспорт (НомерПоезда (РК), ОбщееКоличествоМест)

Рейсы (КодРейса (РК), КодМаршрута(FK), НомерПоезда(FK), Дата).

Сведения о проданных билетах хранятся в таблице:

Билеты (КодРейса(FK), Вагон, Место, НомерОстановкиМестаПосадки, НомерОстановкиМестаНазначения, ФИО, Паспортныеданные).

Допустим, что выбранная СУБД не поддерживает ограничение целостности DELETE/UPDATE.CASCADES. Разработать систему триггеров, реализующих каскадные удаления и модификацию. Написать SQL-запросы для создания этих триггеров.

 

19. В базе данных ж/д вокзала хранятся сведения о железнодорожных маршрутах и продаже билетов на рейсы. Каждый маршрут (допустим, Курск-Москва) имеет по ходу следования промежуточные остановки (Поныри, Орел, Тула), каждая остановка характеризуется порядковым номером в маршруте (пункт отправления Курск – №1, Поныри – №2, Орел – №3, Тула – №4, конечный пункт Москва – № 6). Эта информация хранится в таблицах:

Станции (КодСтанции (РК), Название).

Маршруты (КодМаршрута (РК), КодСтанцииОтправления (FK), КодСтанцииНазначения (FK)).

Остановки (КодМаршрута (FK), Кодстанции (FK), №Остановки, ВремяОтНачалаРейса(мин), Времястоянки(мин)).

В эту таблицу включен пункт отправления (№1, время = 0) и пункт назначения.

Для упрощения задачи будем считать, что сведения о комплектации поездов вагонами и количестве мест хранится где-то. Нам представлена таблица:

Транспорт (НомерПоезда (РК), ОбщееКоличествоМест)

Рейсы (КодРейса (РК), КодМаршрута(FK), НомерПоезда(FK), Дата).

Сведения о проданных билетах хранятся в таблице:

Билеты (КодРейса(FK), Вагон, Место, НомерОстановкиМестаПосадки, НомерОстановкиМестаНазначения, ФИО, Паспортныеданные).

На произвольном диалекте SQL написать хранимую процедуру для регистрации нового маршрута. На вход получает: КодМаршрута, НазваниеСтанцийОтправления и Назначения. Сведения об остановках размещаются во временной таблице Тmp (НомерОстановки, НазваниеСтанции, ВремяОтНачалаРейса, ДлительностьСтоянки).

Процедура должна проверять, если указанных названий нет в таблице Станции, то в нее добавляется новая строка. Тело хранимой процедуры оформить в виде транзакции.

 

20. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный ИнвентарныйНомер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

На произвольном диалекте SQL написать SQL-запрос, либо хранимую процедуру, которая пополняет таблицу Штрафники: если студент имеет более 10 просрочек и не числится сейчас в Штрафниках. Дата постановки на учет: текущая.

 

21. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

Написать SQL-запрос для создания представления (view). На основе анализа всех требований вывести рейтинг востребованности книг для каждой специальности: (top 10) в формате: (НазваниеСпециальности, ШифрКниги, Авторы, Название).

 

22. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

Было принято решение, что разумнее перевести те книги из разряда редких книг, которые слишком часто задерживают, в разряд «обычных». Напишите SQL-запрос, либо хранимую процедуру, которая проставляет ПризнакРедкаяКнига в FALSE (или 0) у книг, возврат которых по статистике задерживается в более чем 75% случаев.

 

23. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

При окончании вуза каждый выпускник подписывает в библиотеке обходной лист о том, что за ним не числится долгов на абонементе. Коды выпускных групп записаны в таблице:

Выпускники (Код Группы (FK)).

Напишите SQL-запрос, либо хранимую процедуру, которая формирует отчет о студентах, имеющих долги на абонементе, в формате (Название Группы, ФИО, ИнвентарныйНомер, Автор, Название).

 

24. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

Написать хранимую процедуру. Вход: №Читательского; выход: признак ошибки (0 – ошибок нет, 1 – ошибка); действия: удаление студента и всех ссылающихся записей из таблиц Студенты, Требования, Штрафники. Считать, что эти таблицы связаны внешними ключами с ограничением целостности DELETE RESTRICT (DELETE NO ACTION). Тело процедуры оформить в виде транзакции. Если за студентом есть долги, действия отменить и войти с ошибкой.

 

25. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

Написать хранимую процедуру, которая пытается списать экземпляры книги. Вход: Шифр Книги, Количество списываемых экземпляров; Выход: Признак ошибки (0 – ошибок нет, 1 – ошибка). Действия: удаляет указанное количество записей из таблицы экземпляры, только если этот экземпляр не находится сейчас на руках у читателя. Если удаление заданного числа экземпляров прошло успешно, выйти с кодом 0, если какой-либо экземпляр удалить не удалось, выйти с ошибкой. Тело хранимой процедуры оформить в виде транзакции. Удаляются либо указанное количество экземпляров, либо ни одного.

 

26. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

Написать хранимую процедуру, которая выполняет «чистку» таблиц:

1) из таблицы Книги удаляет строки, если нет ни одного экземпляра этой книги;

2) из таблицы Группы удаляет запись, если нет ни одного студента из этой Группы.

3) из таблицы Специальность удаляет запись, если нет ни одной группы этой специальности.

Каждый этап оформить в виде транзакции.

Вход, Выход: нет.

 

27. База данных библиотеки вуза хранит информацию о читателях-студентах в следующих таблицах (названия даны на русском, при выполнении задания можно менять на английские):

Специальности (КодСпециальности (РК), НазваниеСпециальности).

Группы (КодГруппы (РК), КодСпециальности(FK), НазваниеГруппы).

Студенты (№Читательского(РК), №Зачетки(Unique), ФИО, КодГруппы(FK)).

Информация о книгах на абонементе находится в следующих таблицах. Каждый экземпляр книги имеет уникальный Инвентарный Номер. Несколько экземпляров одного издания имеют общий Шифр. Редкие книги выдаются на месяц, остальные книги – на полгода.

Книги (Шифр (РК), Авторы, Название, ГодИздания, МестоИздания, ПрочиеХарактеристики, ПризнакРедкаяКнига).

Экземпляры (Инвентарный Номер (РК), Шифр (FK)).

Информация о взятии книг на дом хранится в таблице.

Требования (№ Читательского (FK), Инвентарный Номер (FK), ДатаВыдачи, {подчеркнут составной Primary код} ДатаПредполагаемогоВозврата, ДатаФактическогоВозврата(NULL)).

Студенты, более 10 раз задерживающие возврат книг, числятся в таблице:

Штрафники (№Читательского(FK), ДатаПостановкиНаУчет).

Написать SQL-запрос или хранимую процедуру, которая формирует отчет в следующем формате (КодГруппы, НазваниеГруппы, КоличествоЧеловек, ИзНих %Штрафников).

 

28. По словесному описанию предметной области составьте модель «сущность-связь».

Система планирования производства.

Существует номенклатура (список) изделий, выпускаемых предприятием. Каждое изделие имеет уникальный шифр и название, и характеризуется двумя документами:

1) Спецификация.

Представляет собой перечень деталей для сборки изделия с указанием количества каждой детали. Каждая деталь имеет уникальный шифр и уникальное название.

2) Технологическая карта.

Представляет собой последовательность операций, которые необходимо выполнить для изготовления изделия.

Каждая операция характеризуется:

а) порядковым номером в последовательности изготовления изделия;

б) названием;

в) единицей оборудования;

г) длительностью, сек;

д) списком деталей, которые нужно подать на эту операцию.

Детали могут быть простыми и сборными. Каждая деталь также снабжается спецификацией и технологической картой. Для сборных деталей эти документы полностью аналогичны документам для изделий. Для простых деталей в документах (1) и (2) слово «детали» следует заменить на «материал», остальное – аналогично.

 

29. База данных хранит расписание занятости аудиторий. Формат таблиц:

Аудитории (Номер(РК), Назначение, ЧислоПосадочныхМест)

Дисциплины (IDдисциплины(РК), Название)

Специальности (Шифр(РК), Название)

Группы (КодГруппы(РК), ШифрСпециальности(FK), Курс, ЧислоЧеловек)

Расписание (НомерАуд(FK), КодГруппы(FK), IDдисциплины(FK), ТипЗанятий [лекция, практика, лабораторная], ДеньНедели, НомерПары, Преподаватель). Для простоты будем считать, что «верхняя» и «нижняя» недели не различаются.

Написать хранимую процедуру или SQL-запрос, который выводит расписание занятости определенного преподавателя. Вход: поле «Преподаватель». Формат вывода: (ДеньНедели, НомерПары, Название дисциплины, Группы, Тип занятий). Сортировать по дням недели и номеру пары.

 

30. База данных магазина содержит таблицы:

Товары (Код Товара (РК), Наименование, Упаковка, Розничная Цена)

Приходные Накладные (Номер Накладной (РК), Дата, Поставщик)

Содержание Накладных (Номер Накладной (FK), Код Товара (FK), Количество, Закупочная Цена)

Чеки ({ Номер Чека, Номер Кассы } (РК), Дата, Сумма)

Содержание Чеков ({Номер Накладной, Номер Кассы} (FK), Код Товара (FK), Количество, Отпускная Цена)

Написать хранимую процедуру или SQL-запрос, который для заданного кода товара рассчитывает количество (остаток) этого товара на складе на сегодняшнее число и выводит объемы его продаж за указанный промежуток времени.

Входные параметры: КодТовара, ДатаMin, ДатаMax.

Формат вывода: (Дата, КоличествоПроданногоТовара)

Первой строкой выводится остаток товара на складе (поле «Дата» = NULL), за ним – объемы продаж, сортированные по возрастанию даты.

 

31. База данных магазина содержит таблицы:

Товары (Код Товара (РК), Наименование, Упаковка, Розничная Цена)

Приходные Накладные (Номер Накладной (РК), Дата, Поставщик)

Содержание Накладных (Номер Накладной (FK), Код Товара (FK), Количество, Закупочная Цена)

Чеки ({ Номер Чека, Номер Кассы } (РК), Дата, Сумма)

Содержание Чеков ({Номер Накладной, Номер Кассы} (FK), Код Товара (FK), Количество, Отпускная Цена)

Написать хранимую процедуру или SQL-запрос, который выводит содержимое чека по заданному {НомеруЧека, НомеруКассы}. Формат вывода: (КодТовара, Название [ упаковка ], Цена, Количество, Стоимость).

 

32. База данных магазина содержит таблицы:

Товары (Код Товара (РК), Наименование, Упаковка, Розничная Цена)

Приходные Накладные (Номер Накладной (РК), Дата, Поставщик)

Содержание Накладных (Номер Накладной (FK), Код Товара (FK), Количество, Закупочная Цена)

Чеки ({ Номер Чека, Номер Кассы } (РК), Дата, Сумма)

Содержание Чеков ({Номер Накладной, Номер Кассы} (FK), Код Товара (FK), Количество, Отпускная Цена)

Написать хранимую процедуру, которая добавляет новую строку в чек Входные параметры: НомерЧека, НомерКассы, КодТовара, Количество.

 

33. База данных автовокзала хранит информацию о междугородних рейсах и проданных билетах. Формат таблиц:

Автобусы (КодАвтобуса(РК), Марка, ЧислоПосадочныхМест)

Маршруты (КодМаршрута(РК), ПунктОтправления, ПунктНазначения)

Рейсы (IDрейса(РК), КодМаршрута(FK), Дата, ВремяОтправления, КодАвтобуса(FK))

ПроданныеБилеты (IDрейса(РК), НомерМеста)

Написать хранимую процедуру или SQL-запрос, который для заданного рейса выводит список номеров свободных мест. Вход: IDрейса. Формат вывода: (НомерМеста).

 

34. База данных деканата хранит информацию о результатах сдачи сессий. Формат таблиц:

Специальности (Шифр(РК), Название)

Дисциплины (КодДисциплины(РК), Название)

ПланОбучения (IDзаписи(РК), КодДисциплины(FK), ШифрСпециальности(FK), Семестр, ЧислоЧасов, ФормаКонтроля [экзамен, зачет, КР или КП])

Студенты (НомерЗачетки(РК), ФИО, Группа, ШифрСпециальности(FK))

РезультатыСессии (НомерЗачетки(FK), IDзаписи(FK), НомерДопуска, Дата, Оценка) Если сдача по ведомости, «НомерДопуска»= NULL.

Написать хранимую процедуру или SQL-запрос, который выводит список задолженностей по сессии для заданной группы.

Входные параметры: Группа, Семестр.

Формат вывода: (ФИО студента, НомерЗачетки, НазваниеДисицплины, Семестр, Форма контроля)

Сортировать по фамилии студентов и номеру семестра. Долги искать за все семестры ≤ заданного.

 

35. База данных деканата хранит информацию о результатах сдачи сессий. Формат таблиц:

Специальности (Шифр(РК), Название)

Дисциплины (КодДисциплины(РК), Название)

ПланОбучения (IDзаписи(РК), КодДисциплины(FK), ШифрСпециальности(FK), Семестр, ЧислоЧасов, ФормаКонтроля [экзамен, зачет, КР или КП])

Студенты (НомерЗачетки(РК), ФИО, Группа, ШифрСпециальности(FK))

РезультатыСессии (НомерЗачетки(FK), IDзаписи(FK), НомерДопуска, Дата, Оценка) Если сдача по ведомости, «НомерДопуска»= NULL.

Написать хранимую процедуру или SQL-запрос, который выводит академическую справку студента. Вход: номер зачетки. Формат вывода:

(Название дисциплины, Общее количество часов, Оценка).

Для дисциплин, изучаемых в нескольких семестрах, выводится суммарное число часов, прослушанных этим студентом. Оценка берется из последнего семестра.

 

36. База данных деканата хранит информацию о результатах сдачи сессий. Формат таблиц:

Специальности (Шифр(РК), Название)

Дисциплины (КодДисциплины(РК), Название)

ПланОбучения (IDзаписи(РК), КодДисциплины(FK), ШифрСпециальности(FK), Семестр, ЧислоЧасов, ФормаКонтроля [экзамен, зачет, КР или КП])

Студенты (НомерЗачетки(РК), ФИО, Группа, ШифрСпециальности(FK))

РезультатыСессии (НомерЗачетки(FK), IDзаписи(FK), НомерДопуска, Дата, Оценка) Если сдача по ведомости, «НомерДопуска»= NULL.

Написать хранимую процедуру для вставки информации о сдаче дисциплины студентом. Вход: Номер зачетки, ID записи, Номер допуска (не обязательный паарметр), Оценка, Дата сдачи. Процедура должна отслеживать следующие типы ошибок и выводить диагностические сообщения:

- неправильный номер зачетки;

- оценка не соответствует форме контроля (для формы контроля «зачет» допускаются «зачтено» или «не зачтено»; для остальных (экзамен, КП. КР, практика) – оценки от 2 до 5.

- оценка вводится повторно (по номеру допуска);

- превышено количество сдачи по допускам: можно сдавать 1 раз по ведомости и не более 3 раз по допускам.

 

37. База данных деканата хранит информацию о результатах сдачи сессий. Формат таблиц:

Специальности (Шифр(РК), Название)

Дисциплины (КодДисциплины(РК), Название)

ПланОбучения (IDзаписи(РК), КодДисциплины(FK), ШифрСпециальности(FK), Семестр, ЧислоЧасов, ФормаКонтроля [экзамен, зачет, КР или КП])

Студенты (НомерЗачетки(РК), ФИО, Группа, ШифрСпециальности(FK))

РезультатыСессии (НомерЗачетки(FK), IDзаписи(FK), НомерДопуска, Дата, Оценка) Если сдача по ведомости, «НомерДопуска»= NULL.

Написать хранимую процедуру или SQL-запрос: вывести отчет о студентах, успешно сдавших сессию. Входные параметры: Шифр специальности, Семестр. Формат вывода: (Группа, ФИО студента, Номер зачетки). Студенты не должны иметь долгов за предыдущие и этот семестры, сдать все зачеты, КР, КП и экзамены на 4 и 5.

 

38. База данных хранит расписание занятости аудиторий. Формат таблиц:

Аудитории (Номер(РК), Назначение, ЧислоПосадочныхМест)

Дисциплины (IDдисциплины(РК), Название)

Специальности (Шифр(РК), Название)

Группы (КодГруппы(РК), ШифрСпециальности(FK), Курс, ЧислоЧеловек)

Расписание (НомерАуд(FK), КодГруппы(FK), IDдисциплины(FK), ТипЗанятий [лекция, практика, лабораторная], ДеньНедели, НомерПары, Преподаватель). Для простоты будем считать, что «верхняя» и «нижняя» недели не различаются.

Написать хранимую процедуру, которая ищет свободные аудитории для лекций «на поток» для заданной специальности (с достаточным числом мест). Входной параметр: Шифр специальности. Формат вывода: (ДеньНедели, НомерПары, НомерАудитории, ЧислоМестВАудитории). Сортировать по дню недели и номеру пары.

 

39. База данных хранит расписание занятости аудиторий. Формат таблиц:

Аудитории (Номер(РК), Назначение, ЧислоПосадочныхМест)

Дисциплины (IDдисциплины(РК), Название)

Специальности (Шифр(РК), Название)

Группы (КодГруппы(РК), ШифрСпециальности(FK), Курс, ЧислоЧеловек)

Расписание (НомерАуд(FK), КодГруппы(FK), IDдисциплины(FK), ТипЗанятий [лекция, практика, лабораторная], ДеньНедели, НомерПары, Преподаватель). Для простоты будем считать, что «верхняя» и «нижняя» недели не различаются.

Написать хранимую процедуру или SQL-запрос, который выводит расписание занятости указанной аудитории. Входной параметр: номер аудитории. Формат вывода: (ДеньНедели, НомерПары, Дисциплина, Преподаватель, Специальность(группа), Тип занятий).

 

 




Дата добавления: 2015-02-16; просмотров: 35 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.153 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав