Читаем Разработка и проектирование СУБД полностью

Последовательные типы данных – используются для представления возрастающих числовых последовательностей.

SERIAL – тип данных на основе INTEGER, позволяющий сформировать уникальное значение.

<p>СУБД «ПРЕДПРИЯТИЕ»</p>

Создать на рабочем диске, например, D: папку, например, с именем Otdel, которая будет содержать файлы базы данных. Используя окно команд СУБД печатать программный код, представленный ниже. Если оператор переносится частично в следующую строку, то необходимо добавлять точку с запятой.

1.Создание базы данных и таблиц

Создание CREATE и удаление DROP.

Например:

CREATE DATABASE ‘d:\otdel\otdel’

CREATE TABLE d:\otdel\tem (id_tem INT PRIMARY KEY,;

nazv CHAR(10) NOT NULL)

CREATE TABLE d:\otdel\sot (id_sot INT PRIMARY KEY,;

dol CHAR(15) NOT NULL, okl CURRENCY, id_tem INT)

CREATE TABLE d:\otdel\dog (suma CURRENCY NOT NULL,;

Dat_b DATE, Dat_e DATE, id_tem INT,;

FOREIGN KEY id_tem TAG id_tem REFERENCES tem)

Первичный ключ таблицы TEM Id_tem, является вторичным таблицы DOG. В таблице SOT первичным является Id_sot.

Так как мы не соединили таблицу SOT по полю Id_tem с таблицей TEM, то, для примера удалим ее и создадим вновь, полю Id_sot присвоим вместо первичного ключ уникальный.

DROP TABLE sot 'd:\otdel' RECYCLE

CREATE TABLE d:\otdel\sot (id_sot INT UNIQUE NOT NULL,;

dol CHAR(15) NOT NULL, okl CURRENCY, id_tem INT,;

FOREIGN KEY id_tem TAG id_tem REFERENCES tem)

Элементы столбца NOT NULL должны иметь не пустое значение. UNIQUE – значение каждого элемента должно быть уникальным. PRIMARY KEY – является первичным ключом. REFERNECES столбец является внешним ключом и указывает на ключ какой таблицы он ссылается.

2.Заполнение таблиц базы данных

Для того чтобы добавить столбец в таблицу, используется оператор ALTER с добавкой ADD:

ALTER TABLE d:\otdel\tem ADD COLUMN kod INT NOT NULL

Чтобы удалить столбец из таблицы, используется оператор ALTER с добавкой DROP:

ALTER TABLE d:\otdel\tem DROP COLUMN kod

Добавим в созданные таблицы записи.

Заполнить данными таблицу Sot:

INSERT INTO d:\otdel\tem (id_tem, nazv) VALUES (1, "Proekt1")

INSERT INTO d:\otdel\tem (id_tem, nazv) VALUES (2, "Proekt2")

INSERT INTO d:\otdel\sot (id_sot,dol,okl,id_tem);

VALUES(1,'sotr',5000,1)

и повторить для других строк таблицы Sot:

(2,'sotr',5000,2)

(3,'sotr',6000,1)

(4,'sotr',4000,2)

(5,'sotr',3000,1)

(6,'sotr',2500,2)

Заполнить данными таблицу Dog:

INSERT INTO d:\otdel\dog (suma,dat_b,dat_e,id_tem);

VALUES(500000,{01/01/07},{01/01/09},1)

INSERT INTO d:\otdel\dog (suma,dat_b,dat_e,id_tem);

VALUES(400000,{01/01/08},{01/01/09},2)

INSERT INTO d:\otdel\dog (suma,dat_b,dat_e,id_tem);

VALUES(0,{01/01/08},{01/01/09},2)

При добавлении данных в таблицы можно использовать вычисления, например, добавим в таблицу столбец и вычислим период действия договора в количестве месяцев:

ALTER TABLE d:\otdel\dog ADD COLUMN period float

INSERT INTO d:\otdel\dog (suma, dat_b, dat_e, id_tem, period);

VALUES(0,{01/01/08},{03/03/09},2,(dog.dat_e-dog.dat_b)/30.5)

3.Модификация данных

Изменим в таблице Sot записи:

UPDATE d:\otdel\sot SET okl = okl*2 WHERE (id_sot = 6);

OR (okl BETWEEN 2500.0000 AND 3500.0000)

Удалим из таблицы Dog лишнюю запись:

DELETE FROM d:\otdel\dog WHERE suma = 0.0000

CLEAR

PACK

DELETE помечает выбранные записи на удаление. CLEAR удаляет выбранные записи. PACK обновляет таблицу.

4.Выборка данных

Для извлечения записей из таблиц в SQL определен оператор SELECT.

В SQL также определены функции. Среди них:

AVG(<имя поля>) – среднее по значениям данного поля;

COUNT(<имя поля>) или COUNT (*) – число записей;

MAX(<имя поля>) – максимальное из значений поля;

MIN(<имя поля>) – минимальное из значений поля;

SUM(<имя поля>) – сумма значений поля.

Группировка данных в операторе SELECT осуществляется с помощью ключевого слова GROUP BY и ключевого слова HAVING, с помощью которого задаются условия разбиения записей на группы. Для сортировки данных, получаемых при помощи оператора SELECT, служит ключевое слово ORDER BY.

Выполним запрос с вычислениями:

SELECT id_tem AS код_темы, suma AS сумма,;

(dat_e-dat_b)/30.5 AS период FROM dog

5. Создание представлений

Представления таблиц создается с помощью оператора SELECT. После создания представления с полученным набором данных можно обращаться как с таблицей.

Создадим представление для подсчета рабочего периода в количестве месяцев по договорам:

CREATE VIEW Period AS SELECT id_tem AS Tema,;

suma AS Cymma, (dat_e-dat_b)/30.5 AS Period FROM dog

Создадим представление для подсчета суммы выделяемой на заработную плату за весь период и суммы налога на заработную плату по темам:

CREATE VIEW Zarplata AS SELECT id_tem AS Tema,;

cymma as cymma,sum(okl)*period AS Zarp,;

sum(okl)*period*0.36 AS Nalog FROM sot,period;

WHERE sot.id_tem=period.Tema GROUP BY id_tem

Перейти на страницу:

Похожие книги

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии