Контрольная работа по дисциплине «базы данных»




Скачать 456.13 Kb.
НазваниеКонтрольная работа по дисциплине «базы данных»
страница11/11
Дата публикации23.04.2013
Размер456.13 Kb.
ТипКонтрольная работа
skachate.ru > Информатика > Контрольная работа
1   2   3   4   5   6   7   8   9   10   11

Задание 3





  1. Установить связь между файлами GROUP и STUDY (создать файл GR-ST.VEIW).

  2. Вывести в текстовый файл фамилии, названия предметов и оценки только для женщин.


Для проверки представить файлы DBF :GROUP STUDY , файл GR-ST.VEIW и текстовый файл, созданный в вопросе 2.

^

4. Формирование запросов из базы данных

Команда SELECT



Команда является мощным средством обработки запросов. С ее помощью из базы-источника выделяются нужные данные и пересылаются на экран или в файл-приемник. Данные могут быть извлечены из разных баз, а также сгруппированы и упорядочены желаемым образом.

Команда имеет массу опций-возможностей. Ввиду этого сначала приведем ее предварительный синтаксис, который позволит затем лучше осознать детали.

SELЕСТ <что выводится>

FROM <откуда (источник)> INTO <куда (получатель)>

WHERE <каким условиям должно отвечать >

GROUP BY <колонки, по которым выполняется группирование>

HAVING <условие группирования записей в одну строку>

ORDER BY <в каком порядке выводить данные>
Команда SELECT и вообще команды SQL сами открывают нужные им базы данных и индексные файлы. Если необходимых для выполнения команды индексов нет, они будут созданы, а по завершении команды уничтожены. Открытие соответствующей базы данных (например, с мощью команды SELECT) открывает и индекс.

Команда SELECT допускает включение в себя других внутренних команд SELECT (формирование подзапросов).

Все примеры использования команды SELECT сгруппированы в конце раздела. Сейчас рассмотрим опции команды.

^

Указание результатов выборки и источников данных



SELECT [DISTINCT] [<псевдоним>.]<выражение> [AS <колонка>]

FROM <БД> [<псевдоним>] [,<БД> [<псевдоним>]...]
Здесь указывается, что и откуда берется в выборку. Перед словом FROM перечисляются отбираемые <выражения>, а после – имена баз, из которых берутся данные.Если необходимо построить выборку из всех полей базы, вместо их перечня можно указать символ «*».

В <выражении> могут быть использованы любые функции FoxPro. Кроме того, здесь есть еще собственные специальные арифметические функции, действующие «по вертикали». Это функции вычисления среднего, минимального и максимального значений суммирования, а также количества записей:

АVG(<выр>), МIN(<выр>), МАХ(<выр>), SUM(<выр>), СОUNТ(<выр>).

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

Включение опции DISTINCT исключает возможность вывода одинаковых строк в выборке.

^

Указание объекта, куда пересылается выборка



Данные из запроса могут передоваться в другую базу данных, массив, текстовый файл, экран и принтер.Кроме того, информация может быть переслана в так называемый Курсор. Курсор - это временный набор данных, который может быть областью памяти или временным файлом FoxPro и имеет режим «Только чтение». Данные Курсора могут быть, например, предъявлены в команде BROWSE, напечатаны, из них может быть образовано меню и т.д. Курсор может быть обработан другой командой SELECT. К колонкам Курсора надо обращаться по имени, этих колонок, возможно, с префиксом - именем Курсора (через точку).

Итак:

INTO <получатель >

<Получатель> может быть одного из следующих типов:

ARRAY <массив> - задается вновь создаваемый двумерный <массив>.

CURSOR <курсор> - задается имя Курсора.

DBF/TABLE <БД> - новая база данных с указанным именем.

Слова DBF и TABLE здесь являются синонимами.
Кроме того, данные можно переслать в файл или на принтер.

ТО FILE <файл> [ADDITIVEJ/TO PRINTER - выборка посы­лается в текстовый <файл> или на принтер. Если используется слово ADDITIVE, то выборка будет добавлена в конец су­ществующего файла без его перезаписи.

Следующие опции имеют смысл только при выдаче на экран (команда используется без слова INTO):

NOCONSOLE - выборка не выдается на экран.

PLAIN - заголовки колонок не выдаются.

NOWAIT - не делаются паузы при заполнении экрана.

^

Критерий отбора данных



WHERE <условие связи> [AND <условие связи> ...]

[AND/OR <условие отбора> [AND/OR <условие отбора>…]]

Здесь:

<Условие связи> - применяется в случае, если выборка делается более, чем из одной базы данных, и указывает критерий, кото­рому должны отвечать поля из разных баз. В условии связи указываются поля из разных баз. Здесь разрешается использовать знаки отношения =, #, ==, >, >=, <, <=. Допускается за­дание нескольких критериев, соединенных знаком AND.

<Условие отбора> - строится аналогично, но из выражений только для одной базы, и допускается использование логических операторов OR и NOT.

Условия, кроме любых функций FoxPro, могут содержать следующие операторы SQL:

LIKE - позволяет построить условие сравнения по шаблону, где символ «_» указывает единичный неопределенный символ в троке, «%»- любое их количество. Эти символы аналогичны символам маски «?» и «*» в MS DOS. Формат оператора:

<выражение> LIKE <шаблон>

BETWEEN - проверяет, находится ли выражение в указанном диа­пазоне. Формат оператора: <выражение> BETWEEN <нижнее знач.> AND <верхнее знач.>

IN - проверяет, находится ли выражение, стоящее слева от слова IN, среди перечисленных справа от него (аналогично функции INLIST). Формат оператора:

<выражение> IN (<выражение>,<выражение>,...)

Все указанные операторы можно комбинировать с помощью свя­зок OR, AND, NOT и скобок. Операторы LIKE и BETWEEN не следует путать с одноименными функциями FoxPro, которые, впрочем, тоже можно использовать.

^

Группированные данных



GROUP BY <колонка>[,<колонка>...] – задаются колонки, по кото­рым производится группирование выходных данных. Все записи базы, для которых значения колонок совпадают, отображаются в выборке единственной строкой. Группирование удобно для получе­ния некоторых сводных характеристик (сумм, количеств) группы.

HAVING <условие отбора> - опция задает критерий отбора дан­ных в каждую сформированную в процессе выборки группу.

Сортировка

ORDER BY <колонка> [ASC/DESC][,<колонка> [ASC/DESC]...] -опция задает упорядочение по заданной колонке/колонкам. По умолчанию сортировка выполняется по возрастанию (ASC), но, может быть задана и по убыванию (DESC).
^ Примеры запросов
1. Выборка всех полей из базы KADR.DBF. Все колонки выборки будут иметь имена полей базы данных.

SELECT * FROM kadr
2. Вывод минимального, максимального и среднего значений поля SZAR (средняя зарплата). Колонки получат имена MIN_SZAR, MAX_SZAR и AVG_SZAR.

SELECT MIN(szar),MAX(szar),AVG(szar) FROM kadr
3. Вывод фамилий работников, получающих от 300000 до 800000 рублей.

SELECT fam FROM kadr;

WHERE szar BETWEEN 300000 AND 800000
4. Вывод фамилий всех сотрудников, кроме работающих в подразделениях ОГМ и КБ.

SELECT fam FROM kadr WHERE podr NOT IN ('ОГМ’, 'КБ')
5. Выборка названий всех подразделений (поле PODR) предприятия из базы KADR.DBF. Опция DISINST предотвращает повторный вывод одних и тех же названий, если они повторяются.

SELECT DISTINCT podr FROM kadr
6. Выборка фамилий (РАМ) всех мужчин из KADR.DBF.

SELECT fam FROM kadr WHERE pol='M'
7. Выборка всех фамилий и табельных номеров из KADR.DBF сцепленных с выработками из базы BRIG1.DBF для записей, у которых совпадают табельные номера.

SELECT s.fam,s.tab,t.tab,t.vir;

FROM kadr a,brig1 t WHERE s.tab=t.tab

Здесь для сокращения записи команды базам KADR.DBF и BRIG1. DBF заданы новые временные имена S и Т. Они никакие связаны с рабочими областями. Базы будут открыты в свободных областях системы. Сами колонки выборки получат имена FAM, ТАВ_А, TAB_B,VIR.
8. Если мы хотим задать собственные имена колонкам, а не ис­пользовать умолчания, нужно воспользоваться опцией AS.

Пусть нужно вывести фамилии и табельные номера (поля FAM и TAB) по алфавиту и с другими именами колонок FAMILII и TABEL.

SELECT fam AS familii, tab AS label;

FROM kadr ORDER BY fam
9. Выборка фамилий всех родившихся в текущем месяце с указа­нием дня (числа) рождения, количества лет и премии по этому по­воду - 50 % от значения средней зарплаты.

SELECT fam, DAY (dtr),'число',YEAR (DATE ()) -YEAR(dtr),;

'лет', 'премия',0.5*szar FROM kadr;

WHERE MONTH(dtr)=MONTH(DATE())

Колонки получат имена FAM и от ЕХР_2 по ЕХР_7.
10. Вывод полей FAM и TAB, отсортированных по полям POL (главное поле) и FAM (подчиненное поле) в базу FAMTAB.DBF, которая затем открывается в текущей области.

SELECT fam, tab FROM kadr;

ORDER BY pol,fam INTO TABL famtab

Чтобы увидеть содержимое этой базы, можно, например, сразу ввести команду BROWSE.
11. Вывод для каждого табельного номера из базы KADR.DBF выработок из баз BRIG1.DBF и BRIG3.DBF, а также суммарной выработки работника в обеих бригадах.

SELECT kadr.tab,brigl.vir,brig3.vir,brigl.vir+brig3.vir;

FROM kadr,brigl,brig3;

WHERE kadr.tab=brigl.tab AND kadr.tab=brig3.tab

Имеется в виду, что работник может работать в нескольких бри­гадах в течение месяца, но в каждом бригадном файле он может встретится только раз.
12. Вывод фамилий всех работников, работавших ранее в конструкторском бюро (КБ). Поиск ведется в мемо-поле PER базы KADR.DBF.

SELECT fam FROM kadr WHERE per LIKE «%КБ%»
13. Вывод табельных номеров и суммарной выработки каждого работника в бригаде номер 1. Вывод осуществляется в порядке увеличения табельных номеров.

SELECT tab,SUM(vir) FROM brigl;

GROUP BY tab ORDER BY tab

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

SELECT podr,COUNT(*),SUM(szar);

FROM kadr GROUP BY podr HAVING COUNT(*)>5

Задание 4



Создать запросы и результаты запросов сохранить в файлах DBF/ТХТ.


  1. Вывести сведения о мужчинах, родившихся с 1 января по 1 апреля заданного года.

  2. Вывести фамилии, названия предметов и оценки отдельно для мужчин и женщин.

  3. Вычислить количество студентов, имеющих оценки 2,3, 4, 5 (запрос с группировкой по полю BALL).

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

  5. Вывести фамилию студента, имеющего максимальный номер полиса.


Для проверки представляются результаты запросов.
1   2   3   4   5   6   7   8   9   10   11

Похожие:

Контрольная работа по дисциплине «базы данных» iconРабота с резервной копией базы данных пк «Школьный офис» (методические рекомендации)
Резервное копирование базы данных осуществляется с целью защиты введенной информации от потери в случае повреждения базы данных,...
Контрольная работа по дисциплине «базы данных» iconКурсовая работа по дисциплине «Базы данных в информационных системах»
Формы как средство добавления, просмотра, удаления, изменений параметров базы данных
Контрольная работа по дисциплине «базы данных» iconЛабораторная работа №5 По дисциплине: «Сетевые базы данных»
Составить и выполнить программу pl/sql, которая считывает из базы данных среднюю величину всех заказов после 03. 01. 2009 г., и выводит...
Контрольная работа по дисциплине «базы данных» iconКонтрольная работа по дисциплине Базы данных Требования к выполнению контрольной работы
...
Контрольная работа по дисциплине «базы данных» iconКонтрольная работа по дисциплине «Проблемно-ориентированные вычислительные системы»
Цель работы: выполнить анализ предметной области, построить еr-модель базы данных, составить проекты таблиц для их создания в базе...
Контрольная работа по дисциплине «базы данных» icon1. Базы данных в Rational Rose
Но когда дело доходит до разработки базы данных, то широко распространенной практикой является создание моста из case-средства, реализующего...
Контрольная работа по дисциплине «базы данных» iconМетодические указания для выполнения лабораторных работ и курсового...
Лабораторная работа №1 «Построение структуры базы данных»
Контрольная работа по дисциплине «базы данных» iconМетодические указания для выполнения лабораторных работ по дисциплине «Базы данных и знаний»
Базы данных – это организованная структура, предназначенная для хранения информации
Контрольная работа по дисциплине «базы данных» iconКурсовая работа по предмету «Базы Данных». Тема: 21. Разработка базы данных зоопарка
«Общими указаниями по организации, методике проведения и правилам оформления курсовых проектов и работ»
Контрольная работа по дисциплине «базы данных» iconПояснительная записка Контрольно-измерительные материалы по дисциплине «Базы данных и субд»
Контрольно-измерительные материалы по дисциплине «Базы данных и субд» предназначены для проверки знаний студентов 3-го курса математического...

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2014
контакты
skachate.ru
Главная страница