5. Дисциплина «Проектирование баз данных»
|
информационная система |
|
база данных |
|
система управления базами данных |
|
логическую структуру хранимых в базе данных |
|
DISTINCT |
|
Query |
|
Table |
|
поля |
|
записи |
|
один-к-одному, один-ко-многим, многие-ко-многим |
|
набор данных |
|
предназначен для отображения набора данных |
|
.DB |
|
First, Next, Last, Prior, MoveBy |
|
Locate, Lookup |
|
обеспечить соответствие записей в подчиненной таблице записям в главной |
|
модель данных |
|
пересечением отношений |
|
RecordCount |
|
Post |
|
Close |
|
Open |
|
объединением двух отношений |
|
Clear |
|
Add |
|
QReport |
|
QuickRep |
|
FROM |
|
GROUP BY |
|
WHERE |
|
CREATE INDEX |
|
ALTER TABLE |
|
SELECT |
|
DELETE |
|
INSERT |
|
AVG |
|
COUNT |
|
циркулярной |
|
документальные |
|
тезаурусные |
|
таблица |
|
запись |
|
поле |
|
домен |
|
первичный ключ |
|
First |
|
Last |
|
MoveBy |
|
выборка |
|
ORDER BY… DESC |
|
диапазон допустимых значений |
|
наличие заданной последовательности символов |
|
соответствие элементу множества |
|
UPDATE |
|
первичный ключ |
|
BeforeUpdate |
|
AfterInsert |
|
BeforeDelete |
|
GRANT |
|
REVOKE |
|
CREATE VIEW |
|
StoredProc |
|
физический |
|
3NF |
|
бизнес-логика |
|
реляционный |
|
WITH GRANT OPTION |
|
привилегия устанавливается для всех пользователей |
|
устанавливает соединение с базой данных |
|
IBDatabase |
|
Commit |
|
RollBack |
|
default |
|
CREATE PROCEDURE |
|
расположенная на сервере |
|
объявления переменных |
|
EXECUTE |
|
SELECT |
|
процедуру, хранимую на сервере |
|
файл-серверная |
|
клиент-серверная |
|
последовательной |
|
ADO |
Procedure TForm1.Button1Click(Sender:TObject); Begin Table1.RecNo:=StrToInt(Edit1.Text); End; |
переход к записи с известным номером |
Procedure TForm1.Button1Click(Sender:TObject); Var s:real; n:longint; Begin S:=0; Table1.first; For n:=1 to table1.RecordCount do begin S:= S+Table1.FieldByName(‘Oplata’).asFloat; Table1.next; end; End; |
суммирует данные по полю ‘Oplata’ |
|
Procedure TForm1.Button1Click(Sender:TObject); Var i:integer; Begin Table1.first; For i:=1 to table1.RecordCount do begin Table1.Delete; Table1.next; end; End; |
Procedure TForm1.Button1Click(Sender:TObject); Begin Table1.setkey; Table1.FieldByName(‘nomer’).asString:= edit1.text; Table1.gotoKey; End; |
осуществляет поиск записи по полю ‘nomer’ |
Procedure TForm1.Button1Click(Sender:TObject); Begin Table1.Filtered:=true; Table1.Filter:= ‘oplata>’+edit1.text+’ and oplata<’ + edit2.text; End; |
осуществляет фильтрацию по диапазону по не ключевому полю |
|
select * from Student.db where fam=’Ivanov’; |
|
select fam as Фамилия, name as Имя, Doljnost as Должность from Sotrudnic; |
|
select distinct otdel from Sotrudnic; |
|
select * from Sotrudnic where god_r in (1975, 1977, 1980); |
|
select * from Sotrudnic where god_r between 1975 and 1980; |
|
select * from Sotrudnic where fam like “С%”; |
|
select avg(2011-god_r) from Sotrudnic; |
|
select otdel, avg(2011-god_r) from Sotrudnic group by otdel; |
|
select fam, (2011-god_r) from Sotrudnic where (2011-god_r)=(select min(2011-god_r) from Sotrudnic); |
|
select count(*) from Sotrudnic where otdel= «Программирование»; |
|
select count(distinct Otdel) from Sotrudnic; |
|
select model, max(cena) from Avto group by model; |
|
select model, min(probeg) from Avto group by model; |
|
select model, probeg from Avto where probeg< (select max(probeg) from Avto); |
|
select * from Avto where god_v= (select max(god_v) from Avto) and probeg= (select min(probeg) from Avto); |
|
select ФИО, Дисциплина from R2, R3 where R2.Группа=R3.Группа; |
|
select distinct R1.ФИО from R1 a, R1 b where a.ФИО=b.ФИО and a. Дисциплина<>b. Дисциплина and a. Оценка<=2 and b. Оценка<=2; |
|
select Дисциплина, count(*) from R1 where Оценка is not null group by Дисциплина; |
|
select distinct Группа from R3; |
|
select count(*) from R1 where Оценка>2; |
|
ON DELETE CASCADE ON UPDATE NO ACTION |
|
ON DELETE CASCADE ON UPDATE SET NULL |
|
ON DELETE SET NULL ON UPDATE SET DEFAULT |
|
ON DELETE CASCADE ON UPDATE CASCADE |
|
ON DELETE NO ACTION ON UPDATE NO ACTION |
|
пользователь STUDENT имеет все права доступа к таблице PERSON |
|
пользователь STUDENT имеет право просмотра данных таблицы GROUP |
|
FOR<оператор выбора записи> DO <оператор>; |
Set term!!; Create procedure avg_b(pud_n integer) Returns (pa_b float) as begin select avg(sr_ball) from avg_ball where nom_ud=:pud_n into :pa_b; suspend; end!! Set term;!! |
подсчитывает средний балл студента по номеру удостоверения |
Set term!!; Create procedure selectd(psurn varchar(15)) Returns (pnam varchar(15), pdata date, padr varchar(20)) as begin for select name, data_r, adres from grup where (surname=:psurn) into:pnam, :pdata, :padr do suspend; end!! Set term;!! |
по введенной фамилии возвращает информацию о студенте (имя, дата рождения и адрес студента) |
Create procedure pSalary Returns (opSum float, opAvg float) as begin select sum(salary), avg(salary) from person into:opSum, :opAvg; end; |
подсчитывает сумму окладов и средний оклад сотрудников организации |
Create procedure pSalary(pSalarymin float, pSalarymax float) Returns (opName varchar(20), opSalary float) as begin for select name, salary from person where salary>=:pSalarymin and salary<=:pSalarymax into:opName :opSalary; do suspend; end; |
выводит информацию о сотрудниках (фамилия, оклад), у которых оклад принадлежит заданному диапазону |