Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМП по БД 5244.doc
Скачиваний:
148
Добавлен:
09.04.2015
Размер:
3.82 Mб
Скачать

4. Язык баз данных sql

Для работы с данными в сложных системах управления БД используется специальный язык SQL. В MS SQL Server используется его разновидность Transact SQL.

Ниже приведены основные операторы языка.

Просмотр данных

SELECT [список полей через запятую] – выбор полей для отображения

FROM [имя таблицы] – указатель на таблицу, из которой осуществляется выборка

WHERE [поле = значение] – ограничение получаемого набора данных

ORDER BY [список полей ] – сортировка полей

Добавление данных

INSERT INTO [имя таблицы] [список полей] VALUES [список значений]

Обновление данных

UPDATE [имя таблицы] set [поле = значение]

WHERE [поле = значение]

Удаление данных

DELETE [имя таблицы]

WHERE [поле = значение]

5. Хранимые процедуры

Хранимая процедура – часть SQL –запроса, хранящаяся на сервере, имеющая собственное имя, набор параметров и позволяющая выполнить определенные операции с данными. Основным достоинством хранимых процедур является возможность внесения в них изменений без компиляции программы в Delphi.

Список хранимых процедур хранится в закладке STORED PROCEDURES . Для создания новой процедуры необходимо из контекстного меню выбрать NEW STORED PROCEDURE… Для редактирования достаточно дважды щелкнуть левой кнопкой мыши по процедуре.

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

CREATE PROCEDURE [dbo].[Report] ( @FIO as varchar(50) )

AS

Declare @PN int -- инициализация переменной

Select @PN = (select PN from kadr where fio = @FIO ) -- запись порядкового номера в переменную (получаем из запроса)

-- получаем список предметов с оценками по порядковому номеру

select N=1, Predmet = (select Predmet from predmet where Num_pred = v1.num_pred) , Mark

from Ved as v1

where PN = @PN

UNION – объединяем запросы

-- получаем средний балл по порядковому номеру

select N=2, Predmet = 'Средний балл' , Mark = avg(convert(real,Mark))

from Ved as v1

where PN = @PN

order by N

GO

6. Связь бд с приложением

Связь MS SQL Server и создаваемого приложения в Delphi осуществляется посредством ODBC драйвера. Для этого необходимо на ПАНЕЛИ УПРАВЛЕНИЯ Windows в закладке АДМИНИСТРИРОВАНИЕ выбрать ИСТОЧНИКИ ДАННЫХ (ODBC) . На закладке ПОЛЬЗОВАТЕЛЬСКИЙ DSN нажать Добавить. Из списка драйверов выбрать SQL SERVER и нажать ГОТОВО. В имени источника данных ввести TEST и выбрать сервер БД. На следующей странице выбрать ПРОВЕРКА ПОДЛИННОСТИ УЧЕТНОЙ ЗАПИСИ SQL и в строке ПОЛЬЗОВАТЕЛЬ вписать sa. На следующей странице выбрать базу данных TEST. В результате работы мастера в списке ODBC появится строка TEST .

7. Delphi

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

7.1 Создание mdi интерфейса

MDI интерфейс подразумевает наличие одной главной формы и нескольких дочерних, при этом дочернее окно не может выйти за границы главного.

Создание главной формы

В Delphi необходимо создать новый проект. При этом откроется пустая форма FORM1.

Необходимо создать из нее главное окно программы. Для этого в инспекторе объектов необходимо изменить следующие свойства:

FormStyle: fsMDIForm (стиль окна главный)

WindowState: wsMaximized (размер окна максимальный)

Color: ClGray (цвет окна серый)

Caption: Test (название программы)

Главное меню Standard – MainMenu

Свойства

Items:

Создание дочерней формы.

Добавить новую форму в проект File- New Form

Свойства формы

FormStyle: fsMDIChild

Position: poMainFormCenter

Caption: Студенты

Name: Spr

На событие Onclose

procedure TSpr.FormClose(Sender: TObject; var Action: TCloseAction);

begin

Action := cafree;

end;

Открыть код проекта Project - View Source

Удалить строку Application.CreateForm(TSpr, Spr);

Аналогично создать дочерние формы:

Report (Отчет об успеваемости) ,

J_Ved (Журнал),

Ved (Ведомость)