Курсовая работа: База данных "фруктовый сад"
В любой базе данных для эффективности работы создаются отчеты. Чтоб конкретно знать результаты проделанной работы за определенный период времени, надо проводить подсчеты. Но в нашем случае все намного проще, когда можно создать отчеты. Для еще более удобной работы пользователя на главной форме созданы кнопочки печати отчетов. В нашем случае эти кнопочки называются “отчет по покупкам” и “отчет по продажам". После того, пользователь составил быстро отчет, он так же с легкостью может вывести его на печать.
Рисунок 4.1 - главная форма, где присутствуют кнопки печати
5. Выборочный доступ к данным
Язык манипулирования данными (DML) является сердцем SQL. Для каждого добавления, изменения или удаления данных из базы данных выполняется команда DML. Совокупность команд DML, результаты действия которых еще не стали постоянными, организуют транзакцию.
Рассмотрим следующие операторы языка SQL DML:
1) SELECT - выборка данных из базы;
2) INSERT - вставка данных в таблицу;
3) UPDATE - обновление данных в таблице;
4) DELETE - удаление данных из таблицы.
Назначение оператора SELECT состоит в выборке и отображении данных одной или более таблиц базы данных. Это исключительно мощный оператор, способный выполнять действия, эквивалентные операторам реляционной алгебры выборки, проекции и соединения, причем в пределах единственной выполняемой команды. Оператор SELECT является чаще всего используемой командой языка SQL. Общий формат оператора SELECT имеет следующий вид:
SELECT [DISTINCT| ALL] {* I [columnExpression [AS newName]] [,…] }
FROM TableName [alias] [,...]
[WHERE condition]
[GROUP BY columnList] [HAVING condition]
[QRDERBYcolumnList]
Здесь параметр columnExpressionпредставляет собой имя столбца или выражение из нескольких имен. Параметр TableNameявляется именем существующей в базе данных таблицы (или представления), к которой необходимо получить доступ. Необязательный параметр alias - это сокращение, устанавливаемое для имени таблицы TableName. Обработка элементов оператора SELECT выполняется в следующей последовательности:
1) FROM - определяются имена используемой таблицы или нескольких таблиц;
2) WHERE - выполняется фильтрация строк объекта в соответствии с заданными условиями;
3) GROUP BY - образуются группы строк, имеющих одно и то же значение в указанном столбце;
4) HAVING - фильтруются группы строк объекта в соответствии с указанным условием;
5) SELECT - устанавливается, какие столбцы должны присутствовать в выходных данных;
6) ORDER BY - определяется упорядоченность результатов выполнения оператора.
Порядок конструкций в операторе SELECT не можетбыть изменен. Только две конструкции оператора - SELECT и FROM - являются обязательными, все остальные конструкции могут быть опущены. Операция выборки с помощью оператора SELECT является замкнутой, в том смысле, что результат запроса к таблице также представляет собой таблицу.
Существуют две формы оператора INSERT. Первая предназначена для вставки единственной строки в указанную таблицу. Эта форма оператора INSERT имеет следующий формат:
INSERTINTOTableName [ (columnList)]
VALUES (dataValueList)
Здесь параметр TableNameможет представлять либо имя таблицы базы данных, либо имя обновляемого представления. Параметр colunmListпредставляет собой список, состоящий из имен одного или более столбцов, разделенных запятыми. Параметр coIumnList является необязательным. Если он опущен, то предполагается использование списка из имен всех столбцов таблицы, указанных в том порядке, в котором они были описаны в операторе CREATE TABLE. Если в операторе INSERT указывается конкретный список имен столбцов, то любые опущенные в нем столбцы должны быть объявлены при создании таблицы как допускающие значение NULL - за исключением случаев, когда при описании столбца использовался параметр DEFAULT. Параметр dataValueListдолжен следующим образом соответствовать параметру columnList:
1) количество элементов в обоих списках должно быть одинаковым;
2) должно существовать прямое соответствие между позицией одного и того же элемента в обоих списках, поэтому первый элемент списка dataValuelist считается относящимся к первому элементу списка columnList, второй элемент списка dataValuelist - ко второму элементу списка columnListи т.д.;