Главная » Все файлы » Просмотр файлов из архивов » Документы » Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных»

Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных», страница 15

2018-01-09СтудИзба

Описание файла

Документ из архива "Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных» ", который расположен в категории "". Всё это находится в предмете "базы данных" из 4 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "базы данных" в общих файлах.

Онлайн просмотр документа "Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных»"

Текст 15 страницы из документа "Ревунков Г.И. - Методические указания к лабораторному практикуму по курсу «Базы данных»"

Программа Delphi представляет собой набор программных единиц - модулей. Один из модулей, главный модуль, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения формируется средой Delphi. Главный модуль хранится в файле с расширением dpr. Ниже приведен текст главного модуля программы решения квадратного уравнения:

program Project1;

uses

Forms,

Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

Начинается главный модуль словом PROGRAM, за которым следует имя программы, которое совпадает с именем проекта. Имя программы задается программистом в момент сохранения проекта, и оно определяет имя создаваемого компилятором исполняемого файла программы. Далее, за словом USES, следуют имена используемых модулей.

Директива {$R*.RES} указывает компилятору, что нужно использовать файл ресурсов, который содержит описания ресурсов приложения, например, пиктограммы. Звездочка показывает, что имя файла ресурсов такое же, как и у файла проекта, но с расширением res.

Исполняемая часть главного модуля находится между BEGIN и END. Инструкции выполняемой части обеспечивают инициализацию приложения и вывод на экран стартового окна, Помимо главного модуля каждая программа включает в себя как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль.

Ниже приведен текст модуля формы для программы решения квадратного уравнения:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c:real; {коэффициенты уравнения}

d:real; {дискриминант}

x1,x2:real; {корни уравнения}

s1,s2:string[7];

code:integer;

begin

{ввод исходных данных из полей редактирования}

val(edit1.text,a,code);

val(edit2.text,b,code);

val(edit3.text,c,code);

if a=0

then {вывод сообщения об ошибке}

label1.caption:='Ошибка!'+chr(13)

+'Коэффициент при второй степени'

+chr(13)+'неизвестного равен нулю'

else begin

{вычисление корней уравнения}

d:=b*b-4*a*c;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

{вывод результата}

str(x1:7,s1);

str(x2:7,s2);

label1.caption:='Корни уравнения:'

+chr(13)+'x1='+s1

+chr(13)+'x2='+s2;

end;

end;

end.

Состоит модуль из пяти секций:

• Заголовок модуля.

• Interface-секция.

• Implementation-секция.

• Initialization-секция (необязательная секция).

• Finalization-секция (необязательная секция).

Начинается заголовок модуля словом UNIT. За ним следует имя модуля. Это имя упоминается в списке используемых модулей в инструкции USES главного модуля приложения.

Interface-секция (секция интерфейса) начинается словом INTERFACE. Информация из этого раздела сообщает компилятору, какая часть модуля является доступной для других модулей программы. Здесь перечислены используемые модулем другие библиотечные модули. Приведено описание сформированного типа TForm1. Приведены также описания переменных, доступных другим модулям.

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

Директива {$R *.DFM}, указывающей компилятору, что в секцию реализации надо вставить инструкции установки значений свойств формы, которые находятся в файле с расширением DFM, имя которого совпадает с именем модуля. Просмотреть файл DFM можно при помощи редактора текста.

За директивой {$R *.DFM} следует описание обработчиков событий формы. Здесь можно поместить описание процедур и функций, которые могут вызываться из обработчиков событий обычным образом.

Initialization-секция (секция инициализации) позволяет выполнить инициализацию переменных модуля. Инструкции секции инициализации располагаются после раздела реализации за словом Initialization между BEGIN и END. Если раздел инициализации не содержит инструкций, то ключевые слова не указываются.

Усовершенствование приложения. Создадим обработчики для кнопок "Новое" и "Завершить".

Обработчик для кнопки "Новое":

procedure TForm1.Button2Click(Sender: TObject);

begin

edit1.text:='';

edit2.text:='';

edit3.text:='';

label2.caption:='';

edit1.SetFocus;

end;

end.

Обработчик для кнопки "Завершить":

procedure TForm1.Button3Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

Полный текст созданной программы:

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var

a,b,c:real; {коэффициенты уравнения}

d:real; {дискриминант}

x1,x2:real; {корни уравнения}

s1,s2:string[7];

code:integer;

begin

{ввод исходных данных из полей редактирования}

val(edit1.text,a,code);

val(edit2.text,b,code);

val(edit3.text,c,code);

if a=0

then {вывод сообщения об ошибке}

label1.caption:='Ошибка!'+chr(13)

+'Коэффициент при второй степени'

+chr(13)+'неизвестного равен нулю'

else begin

{вычисление корней уравнения}

d:=b*b-4*a*c;

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

{вывод результата}

str(x1:7,s1);

str(x2:7,s2);

label1.caption:='Корни уравнения:'

+chr(13)+'x1='+s1

+chr(13)+'x2='+s2;

end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

edit1.text:='';

edit2.text:='';

edit3.text:='';

label2.caption:='';

edit1.SetFocus;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Application.Terminate;

end;

end.

Выполните проверку, компиляцию и сохранение проекта.

ЯЗЫК SQL

Как уже отмечалось выше, одним из распространенных реальных языков для реляционной модели является язык структурированных запросов SQL (Structured Query Language). Современные пакеты систем управления реляционными базами данных (RDBMS - Relational DataBase Management System) настолько тесно связаны с SQL, что их часто называют SQL - серверами.

SQL определен комитетом ANSI/ISO. Однако некоторые сервера используют собственные расширения этого языка. Наибольшее распространение получил стандарт SQL - 92 или SQL2. В то же время на ряде серверов началось внедрение объектных расширений языка, которые станут частью нового стандарта - SQL3.

SQL используется и для определения данных и для написания запросов к базам данных и выполнения манипуляций с данными. То есть SQL состоит из двух частей: языка описания данных (DDL - Data Definifion Language) и языка манипулирования данными (DML - Data Manipulation Language).

DDL содержит команды для создания баз данных и таблиц, а DML - команды для формирования запросов.

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

Самая первая команда - для создания базы данных - имеет весьма несложный синтаксис :

create database "имя_базы_данных"

Этот оператор создает новую базу данных в текущем каталоге (или по указанному пути). Точка с запятой выступает в качестве разделителя операторов.

Для удаления базы данных используется оператор drop database , а для изменения параметров используется оператор alter database.

Т и п ы д а н н ы х

В таблице приведены стандартные типы данных SQL, а также типы данных, поддерживаемые большинством серверов:

Таблица. Типы данных, используемые SQL.

_______________________________________________________________

Тип данных Назначение

_______________________________________________________________

char, character(n) Обозначает строку из n символов.

Отдельные серверы или драйверы могут накладывать ограничения дли- ны (для InterBase - 32767 символов).

int, integer Целое число. Обычно 4 байта.

smallint Небольшое целое число, обычно 2 байта

float вещественное число с плавающей точкой.

double precision Особо точное вещественное число с плавающей точкой

numeric (precision, scale) Вещественное число с плавающей точкой с заданной точностью (precision) и масштабом (scale)

____________________________________________________________

Д о м е н ы

Домены (domains) могут быть использованы для определения на сервере собственных типов данных. Домен базируется на существующем типе данных, возможно, являясь его ограниченным подмножеством.

Например:

create domain AddressType as char(30)

С о з д а н и е т а б л и ц

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

• not null означает , что значение поля не может быть пустым ( этот параметр является обязательным для первичных ключей и полей с уникальными значениями);

• default обозначает значение, принимаемое полем по умолчанию, которое может быть : константой, null, или именем пользователя, создавшего данную запись;

• одно или несколько ограничений, возможно, с именем, обозначенным ключевым словом constraint.Допустимыми ограничениями являются primary key (первичный ключ), references (для ссылки на поле другой таблицы) и check (обозначает специальную проверку на допустимость значения). Наиболее важным ограничением является constraint references, позволяющее определять foreign key (внешний ключ таблицы). Значение внешнего ключа связано со значением соответствующего поля в master table (главной таблице). Внешний ключ находится в дочерней (детальной) таблице. Тип данных внешнего ключа должен соответствовать типу данных родительского ключа. Нельзя добавить в таблицу запись, вторичный ключ которой ссылается на несуществующее значение в связанном поле главной таблицы, т.е. каждое значение внешнего ключа всегда должно соответствовать значению родительского ключа.

При помощи следующего кода можно создать таблицу customer с простейшей информацией о покупателе:

create table customer

(cust_id integer not null primary key,

fio varchar(60) not null,

address varchar(30),

phone_number varchar(20))

Для изменения таблицы (добавления или удаления столбцов и ограничений) используется оператор alter table. Для удаления таблицы используется оператор drop table , при этом удаляемая таблица не должна иметь связей с другими таблицами.

И н д е к с ы

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

Создание индекса осуществляется командой create index. Например, для таблицы customer создать индех customer_fio по столбцу fio:

create index customer_fio on customer(fio)

Можно создавать составной индекс. В этом случае имена столбцов перечисляются через запятую.

При помощи команды drop index можно удалить созданный индекс.

О п е р а т о р S e l e c t

Выражение select - наиболее распространенная и хорошо известная команда SQL. Select используется для извлечения данных из одной или нескольких таблиц базы данных (или их представлений - виртуальных таблиц). В наиболее простом варианте команда выглядит так :

select <поля> from <таблицы, из которых извлекаются данные>

В секции <поля> можно указать одно или несколько полей таблицы, разделенных запятыми (либо символ * , который означает, что речь идет о выборке всех полей таблицы), например:

select cust_id, fio from customer

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5301
Авторов
на СтудИзбе
416
Средний доход
с одного платного файла
Обучение Подробнее